首先編輯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