docker基础命令
容器
创建一个新容器但不启动
1
|
docker create <image-id> 为镜像添加一个可读写层,构成一个容器(并未运行)。 |
参数
启动终止状态的容器
1
|
docker start <container-id> 为容器文件系统创建一个进程隔离空间(每个容器只能有一个进程隔离空间)。 |
参数
-i 附着到容器的标准输入
基于镜像新建一个容器并启动
1
|
docker run 等于是docker create和docker start两个命令的集合 |
操作流程
-
-
- 检查本地是否存在指定的镜像,不存在就从公有仓库下载
- 利用镜像创建并启动一个容器
- 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
- 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
- 从地址池配置一个 ip 地址给容器
- 执行用户指定的应用程序
- 执行完毕后容器被终止
-
参数
-i 让容器的标准输入保持打开
-t 分配一个伪终端并绑定到容器的标准输入上
-d 将容器在后台运行
停止容器
1
|
docker stop <container-id> 向运行中的容器发送一个SIGTERM信号,然后停止所有的进程 |
参数
-t 指定等待n秒后停止容器(默认为10)
1
|
docker kill <container-id> 向运行中的容器发送一个不友好的SIGKILL信号,然后停止所有的进程 |
参数
-s 发送指定信号到容器(默认为KILL)
删除容器
1
|
docker rm <container-id> 删除构成容器的可读写层 |
docker rm默认不会删除正在运行的容器
参数
-f 强制删除一个正在运行的容器(使用SIGKILL信号)
将容器转换为镜像
1
|
docker commit <container-id> 将容器的可读可写层转换成一个只读层,这样就把一个容器转换成了镜像 |
docker rm默认不会删除正在运行的容器
参数
-f 强制删除一个正在运行的容器(使用SIGKILL信号)
查看容器整体信息
1
|
docker ps |
参数
-a 显示所有容器(默认只显示正运行的)
-q 只显示容器ID
-n n 只显示最近n个容器信息
-s 显示容器使用的磁盘空间
查看容器或镜像详细信息
1
|
docker instpect <container-id>或<image-id> |
镜像
镜像命令
1
|
docker images 查看 |
参数
-a 显示所有镜像
-f 根据条件过滤要显示的镜像
-q 只显示镜像ID
删除镜像的只读层
1
|
docker rmi <image-id> 删除构成容器的一个或多个可读层(删除最顶层的唯一方法) |
参数
-f 强制删除一个镜像
查看镜像的历史镜像
1
|
docker history <image-id> 递归地输出指定镜像的历史镜像 |