现象
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