#docker版本:18.09.0,最好保證客戶端端口和服務端端口相同docker
[root@Centos7 ~]# dockerd-ce -v Docker version 18.09.0, build 4d60db4
網絡環境概述 server:192.168.100.7:2375 client:192.168.100.8
#docker默認只提供本地unix,sock文件的鏈接方式,讓docker可以監聽tcp端口還須要進行一些配置。網絡
1.跳轉docker啓動文件,定義啓動時執行的參數。socket
#dockerd -H 參數指定docker應用程序監聽方式。固然,socket文件位置,2375端口均可以自行更改,socket文件位置更改的話,使用docker命令時也須要調整一些參數,鏈接時會有說明。tcp
[root@server system]# cat /lib/systemd/system/docker.service |grep "ExecStart" --color ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
2.調整配置後重啓docker服務,並觀察端口是否監聽測試
[root@server ~]# systemctl restart docker [root@server ~]# ss -lt |grep 2375 LISTEN 0 128 :::2375 :::*
3.telnet服務端2375端口測試ui
[root@client ~]# telnet 192.168.100.7 2375 Trying 192.168.100.7... Connected to 192.168.100.7. Escape character is '^]'. ^] telnet> quit
#若是telnet不通,多是server端防火牆存在限制,添加下方規則後在測試鏈接。spa
[root@server ~]# iptables -I INPUT -ptcp --dport 2375 -j ACCEPT
#在client端鏈接服務端並執行命令unix
1.tcp鏈接rest
#你在使用docker鏈接時,可能會遇到下面問題:first path segment in URL cannot contain coloncode
#ps 爲在server端執行的命令
[root@client ~]# docker -H 192.168.100.7:2375 ps parse 192.168.100.7:2375: first path segment in URL cannot contain colon
#將上面命令更改成下面命令便可。
[root@client ~]# docker -H tcp://192.168.100.7:2375 ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2.unix socket文件鏈接。
#同理,若是你更改了sock文件的位置,經過本機的socket文件鏈接時也要指定socket文件位置。
[root@server ~]# docker -H unix:///var/run/docker.sock ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES