Docker 容器的状态主要有以下几种,每种状态反映了容器在生命周期中的不同阶段:
docker create
或 docker run
命令),但尚未启动。--restart
策略但尚未满足启动条件。bash
docker create --name my_container nginx
docker start
或 docker run
进入此状态。bash
docker start my_container
docker pause
),但未释放资源。cgroups
冻结进程。docker unpause
重新运行。bash
docker pause my_container
--restart
策略)。--restart=on-failure
)。docker stop
)。docker logs my_container
docker start my_container
docker rm my_container
bash
docker ps -a # 查看所有容器及其状态
docker inspect -f '{{.State.Status}}' my_container # 检查特定容器状态
CREATED | RUNNING | PAUSED | RESTARTING | EXITED | DEAD
Created → Running ↔ Paused
↑ ↓ ↓
└── Restarting
↓
Exited → Dead
Q:Exited (0)
和 Exited (非0)
的区别?
0
表示正常退出,非零值为错误代码(如 137
表示被 SIGKILL
终止)。Q:如何避免容器频繁重启?
docker logs --tail=100 my_container
docker update --restart=no my_container
掌握这些状态有助于快速排查容器问题,例如通过状态判断是否需要检查日志或调整配置。