Manjaro中误删containerd.sock后重装Docker仍启动失败求助
解决Docker因containerd.sock缺失导致启动失败的问题
步骤1:检查并启动containerd服务
Docker依赖containerd运行,先确认它的状态:
sudo systemctl status containerd
如果服务未启动,执行以下命令启动并设置开机自启:
sudo systemctl start containerd sudo systemctl enable containerd
步骤2:修复containerd.sock的路径与配置
- 手动创建缺失的目录:
sudo mkdir -p /var/run/docker/containerd/
- 检查containerd的配置文件,确保socket路径正确:
sudo nano /etc/containerd/config.toml
找到grpc.address项,确认值为/var/run/docker/containerd/containerd.sock,修改后保存退出(按Ctrl+O回车,再Ctrl+X)。
3. 重启containerd服务让配置生效:
sudo systemctl restart containerd
步骤3:重置Docker相关服务与残留文件
如果前面步骤无效,彻底清理后重启服务:
# 停止所有相关服务 sudo systemctl stop docker docker.socket containerd # 删除残留的socket文件和Docker数据目录 sudo rm -rf /var/run/docker.sock /var/run/docker/containerd/containerd.sock /var/lib/docker/ # 按顺序启动服务 sudo systemctl start containerd sudo systemctl start docker.socket sudo systemctl start docker
步骤4:验证修复效果
执行dockerd测试启动:
sudo dockerd
或者查看Docker服务状态:
sudo systemctl status docker
正常启动后,用测试镜像验证功能:
sudo docker run hello-world
内容的提问来源于stack exchange,提问作者the.lotuseater
相关产品推荐
相关产品推荐

