首先编辑docker的宿主机文件/lib/systemd/system/docker.service
vi /lib/systemd/system/docker.service
修改以ExecStart开头的行:(因为我的系统是centos 7的,所以修改为下面得)
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
如果是centos7以下的话,就把ExecStart修改为:
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375
修改后保存文件,然后通知docker服务做出的修改
systemctl daemon-reload
重启docker服务
service docker restart
接下来测试一下看是否能连接到docker api。上面的2375就是对应端口
curl http://localhost:2375/verion
如果看到控制台有数据返回,这里其实就已经成功了一大半了。
接下来我们通过外网去访问该链接。
如果发现还是远程连不上,可以配置linux的防火墙。
3. 查看docker进程是否监听
[root@localhost ~]# netstat -ano | grep 2375
tcp6 0 0 :::2375 :::* LISTEN off (0.00/0/0)
4.查看系统网络端口2375是否被docker所监听
[root@localhost ~]# netstat -tulp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN 3124/sshd
tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN 3379/master
tcp6 0 0 [::]:2375 [::]:* LISTEN 13964/dockerd
5.添加防火墙2375/tcp ,并重载防火墙
[root@localhost ~]# firewall-cmd --zone=public --add-port=2375/tcp --permanent
success
[root@localhost ~]# firewall-cmd --reload
原文:https://www.cnblogs.com/seeker-yuan/p/14722631.html