参考链接:
https://www.cnblogs.com/onlyworld/p/5105849.html
说明
Docker为C/S架构,服务端为docker daemon,客户端为docker.service.支持本地unix socket域套接字通信与远程socket通信。默认为本地unix socket通信,要支持远程客户端访问需要做如下设置(仅用于测试,生产环境开启会极大增加不安全性:由于开了监听端口,任何人可以通过远程连接到docker daemon服务器进行操作):
系统环境:
docker version:18.05.0-ce
system version:CentOS Linux release 7.5.1804 (Core)
配置
etc/docker/daemon.json会被docker.service的配置文件覆盖,直接添加daemon.json不起作用。可以有如下几种设置:
1、直接编辑配置文件:Centos中docker daemon配置文件在/lib/systemd/system/docker.service,找到以下字段,在后面添加如下,注意,此处不能用”fd://”,否则报错
[Service]
...
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
执行
systemctl daemon-reload
systemctl restart docker.service
2、systemctl edit docker.service,或者编辑vim /etc/systemd/system/docker.service.d/override.conf(必须这样,少一行都不行,unix://也不能按官方写fd://)
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
同样执行
systemctl daemon-reload
systemctl restart docker.service
最后查看是否成功,添加了-H参数,启动了端口(端口默认为2375,但是可以改):
[root@myrepo docker.service.d]# ps aux|grep dockerd
root 5567 8.0