调试 Debian 容器(Docker 中运行的 Debian 系统)通常可以从容器启动、运行日志、进程状态、网络、文件系统几个方面入手。下面按常见场景给你一套实用方法。
docker ps -a
重点看:
STATUS(是否 Exited、Restarting)PORTSdocker logs <容器名或ID>
docker logs -f <容器名或ID> # 实时日志
docker logs --tail 100 <容器> # 最近 100 行
docker exec -it <容器> /bin/bash
或(某些精简镜像):
docker exec -it <容器> /bin/sh
方法一:临时启动一个调试容器
docker run -it --rm debian:bookworm bash
方法二:用原镜像进入并覆盖命令
docker run -it --rm --entrypoint bash your-image
在 Dockerfile 或 docker run 中:
CMD ["nginx", "-g", "daemon off;"]
调试方式:
docker run -it your-image /bin/bash
手动运行 CMD 看报错。
cat /etc/os-release
uname -a
ps aux
top
df -h
apt update && apt install -y iputils-ping curl net-tools
测试:
ping 8.8.8.8
curl http://localhost
ip addr
ls -l /etc/
cat /etc/nginx/nginx.conf
docker inspect <容器>
重点看:
StateMountsNetworkSettingsdocker stats
FROM debian:bookworm
RUN apt update && apt install -y \
procps curl vim
CMD ["bash"]
构建并调试:
docker build -t debtest .
docker run -it debtest
| 问题 | 可能原因 | 排查 |
|---|---|---|
| 容器秒退 | CMD 错误 | docker logs |
| 无法 apt | 网络/DNS | ping 8.8.8.8 |
| 权限拒绝 | USER/卷权限 | ls -l |
| 端口不通 | 端口未暴露 | docker ps |
如果你能告诉我:
我可以直接帮你定位问题。