Docker笔记

3周前 134次点击 来自 其他

标签: Docker

Docker常用命令

使用官方安装脚本自动安装

安装命令如下:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
也可以使用国内 daocloud 一键安装命令:
curl -sSL https://get.daocloud.io/docker | sh

Docker容器信息

docker version
docker info

镜像查看

docker images
## 包含中间映射层
docker images -a
## 查看正在运行的容器
docker ps

镜像搜索

##搜索仓库MySQL镜像
docker search mysql
## --filter=stars=600:只显示 starts>=600 的镜像
docker search --filter=stars=600 mysql
## --no-trunc 显示镜像完整 DESCRIPTION 描述
docker search --no-trunc mysql
## --automated :只列出 AUTOMATED=OK 的镜像
docker search  --automated mysql

镜像下载

##下载Redis官方最新镜像,相当于:docker pull redis:latest
docker pull redis
##下载仓库所有Redis镜像
docker pull -a redis
##下载私人仓库镜像
docker pull bitnami/redis

镜像删除

##单个镜像删除,相当于:docker rmi redis:latest
docker rmi redis
##强制删除(针对基于镜像有运行的容器进程)
docker rmi -f redis
##多个镜像删除,不同镜像间以空格间隔
docker rmi -f redis tomcat nginx
##删除本地全部镜像
docker rmi -f $(docker images -q)

镜像构建

##(1)编写dockerfile
cd /docker/dockerfile
vim mycentos
##(2)构建docker镜像
docker build -f /docker/dockerfile/mycentos -t mycentos:1.1

容器操作

0.容器启动

##新建并启动容器,参数:-i  以交互模式运行容器;-t  为容器重新分配一个伪输入终端;--name  为容器指定一个名称
docker run -i -t --name mycentos
##后台启动容器,参数:-d  已守护方式启动容器
docker run -d mycentos

注意:此时使用"docker ps -a"会发现容器已经退出。这是docker的机制:要使Docker容器后台运行,就必须有一个前台进程。解决方案:将你要运行的程序以前台进程的形式运行。

##启动一个或多个已经被停止的容器
docker start redis
##重启容器
docker restart redis

1.容器与主机间的数据拷贝

##将rabbitmq容器中的文件copy至本地路径
docker cp rabbitmq:/[container_path] [local_path]
##将主机文件copy至rabbitmq容器
docker cp [local_path] rabbitmq:/[container_path]/
##将主机文件copy至rabbitmq容器,目录重命名为[container_path](注意与非重命名copy的区别)
docker cp [local_path] rabbitmq:/[container_path]

2.容器的停止与删除

最常用命令:

## 杀死所有正在运行的容器
docker kill $(docker ps -a -q)
## 删除所有容器
docker rm -f $(docker ps -a -q)
## 删除所有镜像
docker rmi $(docker images -q)

其他命令:

## 停止一个运行中的容器
docker stop redis
## 杀掉一个运行中的容器
docker kill redis
## 删除一个已停止的容器
docker rm redis
## 删除一个运行中的容器
docker rm -f redis
## 删除多个容器
docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm
## -l 移除容器间的网络连接,连接名为 db
docker rm -l db 
## -v 删除容器,并删除容器挂载的数据卷
docker rm -v redis
## 杀死所有正在运行的容器
docker kill $(docker ps -a -q)
## 删除所有未打 dangling 标签的镜
docker rmi $(docker images -q -f dangling=true)
## 删除所有镜像
docker rmi $(docker images -q)
docker rmi $(docker images -q) -f
## 杀死所有正在运行的容器.
docker kill $(docker ps -a -q)
## 删除所有未打标签的镜像.
docker rmi $(docker images -q -f dangling=true)

3.进入容器内部

docker exec -it onlineswiftplayground /bin/bash
Card image cap
开发者雷

尘世间一个小小的开发者,每天增加一些无聊的知识

要加油~~~

技术文档 >> 系列应用 >>
热推应用
Let'sLearnSwift
学习Swift的入门教程
PyPie
Python is as good as Pie
标签