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