CentOS7 docker开启tcp端口并进行客户端远程链接

#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
相关文章
相关标签/搜索