1、容器无法启动
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| # 查看容器启动日志 docker logs <容器ID/名称> docker logs --tail 100 <容器ID/名称> # 打开docker服务debug日志 vi /etc/docker/daemon.json { "debug": true, ...... } systemctl reload docker journalctl -u docker.service --since "5 minutes ago" # 检查容器配置 docker inspect <容器ID/名称> | jq '.[] | .Config' # 尝试以交互方式启动调试 docker run -it --rm --entrypoint=/bin/sh <镜像名> # 检查健康检查状态 docker inspect --format '{{json .State.Health}}' <容器ID> | jq .| sed -i 's/\\n/\n/g' |
2、容器频繁重启( 状态在 Restarting和Exited之间切换 )
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| # 查看容器重启历史 docker inspect --format '{{.RestartCount}}' <容器ID> docker inspect --format '{{.State.Status}}' <容器ID> # 查看最后一次退出原因 docker inspect --format '{{.State.ExitCode}} {{.State.Error}}' <容器ID> # 临时禁用自动重启 docker update --restart=no <容器ID> # 限制日志大小防止磁盘占满 docker run --log-opt max-size=10m --log-opt max-file=3 <镜像名> |
3、容器无响应(Hang 住)
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| # 检查容器状态 docker ps -a --filter "id=<容器ID>" # 查看容器进程状态 docker top <容器ID> # 查看容器资源使用 docker stats --no-stream <容器ID> # 收集容器详细信息用于分析 docker inspect <容器ID> > /tmp/container_inspect.json docker stats --no-stream <容器ID> >> /tmp/container_stats.txt # 强制终止容器 docker kill <容器ID> # 清理后重新启动 docker rm <容器ID> docker run <原启动参数> |