常见问题排查
容器无法启动
# 查看日志
docker logs my-app
# 查看退出码
docker inspect --format='{{.State.ExitCode}}' my-app
# 常见退出码
# 0: 正常退出
# 1: 应用错误
# 137: OOM 或 SIGKILL
# 139: 段错误
网络问题
# 检查端口映射
docker port my-app
# 进入容器测试
docker exec -it my-app sh
ping other-service
curl http://localhost:8080
# 检查网络
docker network inspect my-net
权限问题
# 检查文件权限
docker exec my-app ls -la /app
# 用 root 进入
docker exec -u root -it my-app sh
小结
| 问题 | 排查方法 |
|---|---|
| 无法启动 | docker logs |
| 网络不通 | docker exec ping |
| 权限错误 | docker exec ls -la |