Docker 容器
容器是 Docker 又一核心概念。
简单的说,容器是独立运行的一个或一组应用,以及它们的运行态环境。对应的,虚拟机可以理解为模拟运行的一整套操作系统(提供了运行态环境和其他系统环境)和跑在上面的应用。
启动容器
所需要的命令主要为 docker run
如图所示我启动一个容器并执行/bin/ls
#dockerrun centos-sshd:v1 /bin/ls
sudo docker run -t -i centos-sshd:v1/bin/bash
其中, -t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上, -i 则让容器的标准输入保持打开。
当利用 docker run 来创建容器时,Docker 在后台运行的标准操作包括:
- 1. 检查本地是否存在指定的镜像,不存在就从公有仓库下载
- 2. 利用镜像创建并启动一个容器
- 3. 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
- 4. 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
- 5. 从地址池配置一个 ip 地址给容器
- 6. 执行用户指定的应用程序
- 7. 执行完毕后容器被终止
后台运行docker容易,使用-d选项
docker ps查看容器信息
要获取容器的输出信息,可以通过 dockerlogs 命令。
终止一个容器
可以使用 dockerstop 来终止一个运行中的容器。
先查看#sudodocker ps -a
执行#sudo docker stop停止
图中可以看出现在所有的都已经exited
处于终止状态的容器,可以通过 docker start 命令来重新启动。
此外, dockerrestart 命令会将一个运行态的容器终止,然后再重新启动它。这两个不多介绍,使用方法和上面的一样
进入容器
在使用 -d 参数时,容器启动后会进入后台。 某些时候需要进入容器进行操作,有很多种方法,包括使用dockerattach 命令或 nsenter工具等。
导出容器
如果要导出本地某个容器,可以使用docker export 命令。
导入容器
可以使用 dockerimport 从容器快照文件中再导入为镜像,例如
看上图是不多了一个centos:v2的版本镜像
这里也可以跟url路径来导入 #sudo docker import url 镜像名
删除容器
删除容器其实上节我已经说过,只不过一笔带过
可以使用 dockerrm 来删除一个处于终止状态的容器
是否发现已经少了一个了
如果要删除一个运行中的容器,可以添加 -f 参数。Docker 会发送 SIGKILL信号给容器。
docker容易的教程到此结束,下节我将介绍docker仓库