Debian Docker常见问题有哪些
导读:Debian 上 Docker 的常见问题可分为安装与仓库、命令与服务、镜像拉取与网络、容器运行与资源、GPU 与内核等几类,下面给出高频症状、成因与处理要点。 安装与仓库配置 症状:apt update 报 GPG 或签名错误、找不到包...
Debian 上 Docker 的常见问题可分为安装与仓库、命令与服务、镜像拉取与网络、容器运行与资源、GPU 与内核等几类,下面给出高频症状、成因与处理要点。
安装与仓库配置
- 症状:apt update 报 GPG 或签名错误、找不到包、仓库 404。
处理:导入官方密钥并配置正确的 APT 源(注意 Debian 12 的代号是 bookworm),示例:
sudo apt update & & sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo “deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable” | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update & & sudo apt install -y docker-ce docker-ce-cli containerd.io
如仍报依赖错误,先执行 sudo apt --fix-broken install 再安装。
命令不可用与服务未启动
- 症状:执行 docker 提示“找不到命令”,或提示权限不足。
处理:- 检查服务:sudo systemctl status docker;未运行则 sudo systemctl start docker 并设置开机自启 sudo systemctl enable docker。
- 检查命令路径:which docker 或 echo $PATH,确认 /usr/bin 在 PATH 中。
- 权限问题:将当前用户加入 docker 组 sudo usermod -aG docker $USER,退出并重新登录后再试。
- 仍异常时查看日志:journalctl -u docker.service。
镜像拉取与网络连通
- 症状:docker pull 超时/失败、拉取 hello-world 卡住。
处理:- 配置镜像加速器(写入 /etc/docker/daemon.json 后重启):
{ “registry-mirrors”: [“https://docker.m.daocloud.io”,“https://docker.nju.edu.cn”,“https://mirror.baidubce.com”] }
执行:sudo systemctl daemon-reload & & sudo systemctl restart docker;用 docker info 检查 Registry Mirrors 是否生效。 - 企业/受限网络:为 Docker 配置代理(/etc/systemd/system/docker.service.d/http-proxy.conf):
[Service]
Environment=“HTTP_PROXY=http://proxy:port” “HTTPS_PROXY=http://proxy:port”
执行:sudo systemctl daemon-reload & & sudo systemctl restart docker。 - 基础连通性:ping 目标仓库域名、检查 DNS 与出口策略;必要时更换网络或代理。
- 配置镜像加速器(写入 /etc/docker/daemon.json 后重启):
容器运行与资源问题
- 症状:容器启动失败、健康检查失败、端口访问不通、应用报内存/CPU 不足。
处理:- 查看容器日志与资源:docker logs ;docker stats 观察 CPU/内存;必要时调整应用资源限制。
- 端口与网络:docker port 检查端口映射;确认宿主机端口未被占用(如 netstat -tulpen | grep );检查默认网桥 docker0 与自定义网络是否正常(ip a、docker network ls/inspect)。
- 资源限制:docker run 时使用 --memory/–cpus 合理限流,避免 OOM 或 CPU 争用。
GPU 支持与内核兼容性
- 症状:容器里 nvidia-smi 不可用、报驱动或 runtime 错误。
处理:- 安装 nvidia-container-toolkit 并重启 Docker:sudo apt-get update & & sudo apt-get install -y nvidia-container-toolkit & & sudo systemctl restart docker;验证:docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi。
- 症状:启动时报错与 iptables/nftables、内核模块或 aufs/dkms 相关。
处理:- 在 Debian 11+ 使用 nftables 的场景,常见做法是将 iptables 切换到 legacy 模式以兼容 Docker:
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy - 如遇到 aufs-dkms 或依赖问题,先执行 sudo apt --fix-broken install,必要时重装相关包或内核头文件后再启动 Docker。
- 在 Debian 11+ 使用 nftables 的场景,常见做法是将 iptables 切换到 legacy 模式以兼容 Docker:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian Docker常见问题有哪些
本文地址: https://pptw.com/jishu/771685.html
