现象

ubuntu 下使用docker,秃然一天报了一个错误

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 

排查

排查了半天,是dockerd启动的时候指定的API listen 和默认的不一致。
systemctl 启动的时候,设置的是/run/docker.sock
手动启动的时候是,/var/run/docker.sock
并且 ubuntu下启动的时候也没有看到/run/下面有docker.sock创建

解决

所以有两种办法

1.手动启动dockerd

nohup dockerd &

2.修改systemctl配置文件

vim /lib/systemd/system/docker.service
ExecStart 增加unix listen的socket 配置指定

ExecStart=/usr/bin/dockerd  -H unix:///var/run/docker.sock -H fd:// --containerd=/run/containerd/containerd.sock 

3.重启docker

systemctl restart docker
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐