在Docker中,容器可以从一种状态转换到另一种状态,以下是Docker容器可能出现的主要状态:
- created(已创建):
当您使用docker create
命令创建一个容器但尚未启动它时,容器处于此状态。容器的文件系统结构和配置已经准备完毕,但是还没有开始运行任何进程。 - restarting(重启中):
此状态表明容器正在尝试按照其重启策略进行重启。可能是由于容器意外退出,或者由于某种原因被触发了重启。 - running(运行中):
容器已成功启动并正在运行其主进程。容器内的服务或应用处于活跃状态,可以正常提供服务。 - removing(迁移中):
当发出docker rm
或docker stop
命令并带有-t
参数(等待一定时间后自动移除容器)时,容器会在停止后进入移除队列,这时显示为“迁移中”。此状态意味着Docker正在清除与该容器相关的资源。 - paused(暂停):
容器被挂起,其进程暂停运行,但仍保留在内存中。容器可以随时恢复到运行状态,而不需要重新启动进程。 - exited(停止):
容器已停止运行,它的主进程已经退出。退出状态码会与容器一同记录下来,可通过docker inspect
查看。容器虽已停止,但其文件系统仍被保留。 - dead(死亡):
容器已经停止,并且其曾经运行过的进程也无法再次启动,通常是因为容器内部发生了严重的错误或者其所在的Docker守护进程本身出现问题。
综上所述,以上七个状态全面涵盖了Docker容器在其生命周期中可能出现的所有情况。实际操作中,最常遇到的状态主要是 created
、running
、exited
和 paused
。通过 docker ps
(查看运行中容器)和 docker ps -a
(查看所有容器,包括已停止的)命令,可以查看容器当前的状态。