Manjaro系统Docker守护进程无法连接问题求助
Docker守护进程无法启动(Manjaro/Arch系)
先定位具体失败原因
先执行以下命令获取完整的守护进程启动日志,这是排查的核心:
sudo systemctl status docker sudo journalctl -xeu docker
重点关注日志里的错误提示,比如配置文件格式错误、依赖服务未启动、目录权限异常等。
常见修复步骤
1. 检查依赖服务containerd
Docker依赖containerd进程,先确保它正常运行:
sudo systemctl start containerd sudo systemctl enable containerd sudo systemctl status containerd
如果containerd启动失败,同样用journalctl -xeu containerd排查它的问题。
2. 修复Docker目录权限
/var/run/docker或/var/lib/docker目录权限异常会导致启动失败,执行以下命令修复:
sudo chmod 775 /var/run/docker sudo chown root:docker /var/run/docker sudo chmod 775 /var/lib/docker sudo chown root:docker /var/lib/docker sudo systemctl restart docker
3. 验证Docker配置文件
如果自定义过/etc/docker/daemon.json,检查JSON格式是否合法(比如逗号、括号是否匹配):
cat /etc/docker/daemon.json
格式错误的话修正后重启Docker;没有该文件则直接跳过。
4. 重新加载systemd配置
有时候systemd缓存会导致服务启动异常:
sudo systemctl daemon-reload sudo systemctl restart docker
5. 检查并加载必要内核模块
Arch系需要确保overlay和br_netfilter模块已加载:
lsmod | grep overlay lsmod | grep br_netfilter
未加载的话手动加载并设置开机自启:
sudo modprobe overlay sudo modprobe br_netfilter echo "overlay" | sudo tee -a /etc/modules-load.d/docker.conf echo "br_netfilter" | sudo tee -a /etc/modules-load.d/docker.conf sudo systemctl restart docker
6. 彻底重装Docker(最后手段)
以上方法无效时,执行彻底卸载后重装:
sudo pacman -Rns docker docker-compose containerd sudo rm -rf /var/lib/docker /etc/docker /var/run/docker sudo pacman -S docker docker-compose containerd sudo systemctl enable --now docker containerd
补充提示
执行usermod -aG docker $USER后,必须重新登录系统,组权限才能生效,否则仍需用sudo执行Docker命令。
内容的提问来源于stack exchange,提问作者Rinat Fatah
相关产品推荐
相关产品推荐

