Docker 开源软件应急处理方案及操作手册——容器运行异常处理

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 <原启动参数> |

相关推荐
lichenyang4531 天前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang4531 天前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4531 天前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4531 天前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
Patrick_Wilson6 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy6 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭6 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩7 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
程序员老赵8 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1118 天前
LM Studio Docker 部署——本地大模型一键启动
docker