本教程操作环境:linux5.9.8系统、docker-1.13.1版、dell g3电脑。
docker容器的七种状态docker下查看所有容器状态:
docker ps -a
返回的内容中,有一个字段是status。
status: 容器状态,有7种:
created(已创建)restarting(重启中)running(运行中)removing(迁移中)paused(暂停)exited(停止)dead(死亡)
这些状态中,最重要和常见的是除了restarting(重启中)和removing(迁移中)之外的五个状态,下面基本上网络上大部分的容器生命周期图都只包含五个状态:created(已创建),running(运行中),paused(暂停),exited(停止),dead(死亡)。
最常见的一种,当某容器因为某些原因变成exited状态时,可以使用start重新启动,例如:当运行时,提示这个容器未在运行,同时使用docker ps时没有显示出该容器
随后,想要重新新建一个容器,发现提示之前创建的容器其实还在,使用docker ps -a查看所有容器,看到:其实是处于exited状态
随后,使用docker start ocr重新启动了这个容器,检查了一下,里面的东西还是都在的。
类似exited(停止)
up还在运行中(running)
另外,如果想知道这些状态,最简单的方式是,docker --help,返回的信息中,可以看到:
# 用来创建容器create create a new container# 在一个运行状态的容器中执行命令exec run a command in a running container# 杀死运行中的容器kill kill one or more running containers# 让容器暂停pause pause all processes within one or more containers# 恢复容器unpause unpause all processes within one or more containers# 重启容器restart restart one or more containers# 新建并初始化一个容器(注意 是一个新的容器) run run a command in a new container# 启动一个被停止的容器 start start one or more stopped containers# 暂停运行中的容器stop stop one or more running containers
扩展知识:容器生命周期
可以谷歌 container lifecycle去看看相关的内容,主要搜图,可以看到有很多图,就像进程的生命周期一样。
主要反映了created(已创建),running(运行中),paused(暂停),exited(停止),dead(死亡)这五个状态的一个变化关系。
下面这个图的started就约等于running。
下面这个图的stopped就约等于exited
源自: docker container lifecycle management: create, run, pause, stop and delete
源自:docker基本命令
源自:docker命令图谱
源自:docker系列03—docker 基础入门
其实上面这个图最初应该是来自:
源自:docker internals-a deep pe into docker for engineers interested in the gritty details.
参考:
docker container lifecycle management: create, run, pause, stop and deleteintroduction to the docker life cycle 这个文章的中文翻译:知乎文章:docker生命周期简介知乎文章:docker生命周期推荐学习:《docker视频教程》
以上就是docker容器的状态有哪几种的详细内容。