当我们创建一个 container 的时候, 它的生命过程中都会经历哪几个阶段呢? 有时候明明一个 container 已经死了, 我们去创建一个同名 container 的时候, 它竟然说有一个同名的 container 存在? 明白了 container 的生命周期, 就能理解了.
container 的生命阶段
一个 docker container 从创建到彻底消亡, 可能会经过的阶段:
- created: container 被创建, 但是没有被启动
- running: container 被启动, 里面的进程在运行
- paused: container 里的所有进程被挂起, 暂停运行
- stopped: container 里面的进程被杀死, container 还存在
- deleted: container 被彻底删除
下面我们就以 nginx 做container 为例来说明这个过程.
create
创建 container
下面创建一个 nginx container, 并使用 ps -l (–latest) 来查看, 状态是 Created.
supra@suprabox:~$ docker create --name nginxServer nginx
ac301e1f4f3f3ba5631ff5d7f3276d1544610229a9e3727dac6d5f66181bfe05
supra@suprabox:~$ docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ac301e1f4f3f nginx "/docker-entrypoint.…" 1 minutes ago Created nginxServer
start
启动 container
通过start
子命令启动 container, 然后通过ps
子命令查看状态. 通过exec
子命令写一句话到/text.txt
文件, 并且查看写入内容.
supra@suprabox:~$ docker start nginxServer
nginxServer
supra@suprabox:~$ docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ac301e1f4f3f nginx "/docker-entryp