You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 14.04安装Docker CE后无法连接containerd求助

嘿,我之前碰到过几乎一模一样的问题——Docker守护进程明明跑着,但CLI连不上,日志里全是containerd的超时报错。结合你的情况,试试下面这些步骤,应该能解决:

排查与修复方案

1. 先确认containerd服务是否正常运行

Docker完全依赖containerd,要是它没跑起来,肯定会出问题。先查状态:

sudo systemctl status containerd

如果显示未运行,赶紧启动并设置开机自启:

sudo systemctl start containerd
sudo systemctl enable containerd

2. 直接测试containerd socket的连通性

跳过Docker,直接用containerd的工具ctr连接那个报错的socket,验证是不是socket本身的问题:

sudo ctr --address /var/run/docker/containerd/docker-containerd.sock version

要是这个命令也超时,那问题根源就在containerd,不是Docker CLI的锅。

3. 重启相关服务试试“万金油”操作

有时候就是服务进程卡住了,重启一下说不定就好:

sudo systemctl restart containerd
sudo systemctl restart docker

4. 重置containerd的配置文件

老版本的containerd(比如Ubuntu 14.04里的)可能配置有问题,生成一个默认配置覆盖试试:

sudo containerd config default > /etc/containerd/config.toml

生成完记得重启containerd:

sudo systemctl restart containerd

5. 检查系统资源是否充足

超时错误经常和内存/CPU不足有关——containerd没法及时响应请求。快速排查:

free -h  # 查看内存使用
top      # 实时看CPU和进程负载

如果内存吃满了,关掉一些没用的进程,或者给系统加内存,再重试Docker命令。

6. 重装containerd试试

如果上面都没用,可能是containerd的安装文件损坏了,卸载再重装:

sudo apt-get purge containerd
sudo apt-get install containerd

重装完成后重启Docker和containerd服务。

7. 检查AppArmor的限制

Ubuntu 14.04默认启用AppArmor,有时候它会阻止containerd的socket访问。先查状态:

sudo aa-status

如果看到和containerd相关的拒绝规则,可以临时关闭AppArmor测试:

sudo systemctl stop apparmor
sudo systemctl disable apparmor

要是测试能正常连接了,再去调整AppArmor的规则,允许containerd的socket操作。


内容的提问来源于stack exchange,提问作者Pierre de LESPINAY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:32:27