在 Debian 上使用 Docker 出错时,排查思路大致如下。你可以对照看看属于哪一类,我再帮你细化。
docker --version
sudo systemctl status docker
如果服务没启动:
sudo systemctl start docker
sudo systemctl enable docker
报错类似:
permission denied while trying to connect to Docker daemon
解决:
sudo usermod -aG docker $USER
newgrp docker
然后重新登录终端。
Debian 10 以下可能官方源不支持新 Docker。 建议用官方源安装:
sudo apt remove docker docker.io containerd
sudo apt update
sudo apt install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.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 docker-ce docker-ce-cli containerd.io
国内环境常见:
sudo mkdir -p /etc/docker
sudo nano /etc/docker/daemon.json
写入:
{
"registry-mirrors": ["https://docker.m.daocloud.io"]
}
重启:
sudo systemctl restart docker
看日志:
docker logs 容器名
常见原因:
Debian 12 + Docker 常见:
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo reboot
如果你愿意,把具体报错内容发出来,我可以精准帮你:
cat /etc/os-release)这样能少走很多弯路。