Cannot connect to the Docker daemon at tcp://l106.13.**.*:2375. Is the docker daemon running?

/etc/docker/daemon.json会被docker.service的配置文件覆盖,直接添加daemon.json不起作用。可以有如下几种设置:

  1. 直接编辑配置文件:Centos中docker daemon配置文件在/lib/systemd/system/docker.service,找到以下字段,在后面添加如下,注意,此处不能用"fd://",否则报错

    1
    2
    3
    4
    ...
    [Service]
    ...
    ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375

    执行

    1
    2
    systemctl daemon-reload
    systemctl restart docker.service
  2. systemctl edit docker.service,或者编辑vim /etc/systemd/system/docker.service.d/override.conf(必须这样,少一行都不行,unix://也不能按官方写fd://)

    1
    2
    3
    [Service]
    ExecStart=
    ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375

    同样执行

    1
    2
    systemctl daemon-reload
    systemctl restart docker.service

最后查看是否成功,添加了-H参数,启动了端口(端口默认为2375,但是可以改):

1
2
3
4
5
[root@myrepo docker.service.d]# ps aux|grep dockerd
root   5567 8.0 2.0 632976 37696 ?    Ssl 15:08  0:00 /usr/bin/dockerd -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock
root   6143 0.0 0.0 112660  976 pts/0  S+  15:08  0:00 grep --color=auto dockerd
[root@myrepo docker.service.d]# netstat -lant|grep 2376
tcp6    0   0 :::2376         :::*          LISTEN