Ubuntu 22.04下Docker启动报错:error reading from server: EOF
Docker与containerd连接故障排查(Ubuntu 22.04)
问题现象
多次重装Docker和containerd后,仍出现以下dockerd报错:
Jun 22 23:24:04 infinity dockerd[39130]: time="2024-06-22T23:24:04.104071230+01:00" level=error msg="Failed to get event" error="rpc error: code = Unavailable desc = error reading from server: EOF" module=libcontainerd namespace=moby Jun 22 23:24:04 infinity dockerd[39130]: time="2024-06-22T23:24:04.104123876+01:00" level=info msg="Waiting for containerd to be ready to restart event processing" module=libcontainerd namespace=moby Jun 22 23:24:04 infinity dockerd[39130]: time="2024-06-22T23:24:04.104072342+01:00" level=error msg="Failed to get event" error="rpc error: code = Unavailable desc = error reading from server: EOF" module=libcontainerd namespace=plugins.m> Jun 22 23:24:04 infinity dockerd[39130]: time="2024-06-22T23:24:04.104179065+01:00" level=info msg="Waiting for containerd to be ready to restart event processing" module=libcontainerd namespace=plugins.moby
执行docker version时返回:
docker version Cannot connect to the Docker daemon at unix:///home/ciasto/.docker/desktop/docker.sock. Is the docker daemon running? Client: Docker Engine - Community Cloud integration: v1.0.28 Version: 26.1.4 API version: 1.45 Go version: go1.21.11 Git commit: 5650f9b Built: Wed Jun 5 11:28:57 2024 OS/Arch: linux/amd64 Context: desktop-linux
解决步骤
1. 切换Docker上下文到默认
当前上下文指向Docker Desktop的socket,但你使用的是原生Docker服务,需切换到系统默认上下文:
- 查看所有上下文:
docker context ls - 切换到default:
docker context use default
2. 重启containerd和Docker服务
containerd服务异常会导致dockerd无法建立连接,直接重启服务:
sudo systemctl restart containerd sudo systemctl restart docker
- 验证服务状态:
sudo systemctl status containerd docker
3. 修复Docker与containerd的连接配置
编辑Docker守护进程配置文件,明确指定containerd的socket路径:
- 创建或编辑
/etc/docker/daemon.json:{ "containerd": "/run/containerd/containerd.sock" } - 重启Docker生效:
sudo systemctl restart docker
4. 彻底清理并重装(若上述步骤无效)
残留的配置文件可能导致冲突,彻底清理后重新安装:
- 卸载所有相关包:
sudo apt purge -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin - 删除残留数据和配置:
sudo rm -rf /var/lib/docker /var/lib/containerd /etc/docker ~/.docker - 重新安装Docker:
sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
5. 修复用户权限
确保当前用户拥有Docker操作权限:
sudo usermod -aG docker $USER
- 注销并重新登录后权限生效
内容的提问来源于stack exchange,提问作者Ciasto piekarz
相关产品推荐
相关产品推荐

