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

摘要:
#dockerd-H参数指定docker应用程序监听方式。当然,socket文件位置,2375端口都可以自行更改,socket文件位置更改的话,使用docker命令时也需要调整一些参数,连接时会有说明。[root@serversystem]#cat/lib/systemd/system/docker.service|grep"ExecStart"--colorExecStart=/usr/bin/dockerd-Hunix:///var/run/docker.sock-Htcp://0.0.0.0:23752.调整配置后重启docker服务,并观察端口是否监听[root@server~]#systemctlrestartdocker[root@server~]#ss-lt|grep2375LISTEN0128:::2375:::*3.telnet服务端2375端口测试[root@client~]#telnet192.168.100.72375Trying192.168.100.7...Connectedto192.168.100.7.Escapecharacteris'^]'.^]telnet˃quit#如果telnet不通,可能是server端防火墙存在限制,添加下方规则后在测试连接。

#docker版本:18.09.0,最好保证客户端端口和服务端端口相同

[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启动文件,定义启动时执行的参数。

#dockerd -H 参数指定docker应用程序监听方式。当然,socket文件位置,2375端口都可以自行更改,socket文件位置更改的话,使用docker命令时也需要调整一些参数,连接时会有说明。

[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端口测试

[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端防火墙存在限制,添加下方规则后在测试连接。

[root@server ~]# iptables -I INPUT -ptcp --dport 2375 -j ACCEPT

#在client端连接服务端并执行命令

1.tcp连接

#你在使用docker连接时,可能会遇到下面问题:first path segment in URL cannot contain colon

#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

免责声明:文章转载自《CentOS7 docker开启tcp端口并进行客户端远程连接》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇机器学习如何优化页面加载速度下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Docker 搭建开源 CMDB平台 “OpsManage” 之 Redis

整体结构如下图   先来在 172.16.0.200 安装docker-ce (新)或 docker-io(旧)      0: Docker-ce  (新版本  Docker version 17.09.0-ce) 1. 卸载老版本的 docker 及其相关依赖sudo yum remove docker docker-common containe...

Docker容器实践之运行Python程序

目录 Python镜像文件及PyCode 项目目录 Dockerfile Requirements.txt Hello.py Calander.py Mysql.py Opencv.py 部署运行 Hello world 日历 MySql OpenCv 实验心得 Python镜像文件及PyCode 项目目录 Dockerfile F...

部署经验Docker

从Docker 到Jenkins 到Ansible的部署经验 https://www.cnblogs.com/itdragon/p/10011816.html 工作中,除了开发功能,还负责系统的部署工作。我从频繁的部署工作中,逐渐找到了一些偷懒的方法。从传统的Java -jar命令启动服务,到通过Docker 容器构建部署服务,再后来通过自动化部署工具Je...

[Python之路] 使用epoll实现高并发HTTP服务器

什么是epoll 我们在  Python多种方式实现并发的Web Server 的最后使用单进程+单线程+非阻塞+长连接实现了一个可并发处理客户端连接的服务器。他的原理可以用以下的图来描述: 解释: 1.HTTP服务器是我们使用 单进程+单线程+非阻塞+长连接实现 的web服务器。 2.在实现的时候,我们创建了一个存放已接受Socket连接的列表,该列表...

delphi TTcpClient TTcpServer分析

http://blog.csdn.net/andrew57/article/details/8767308 只描述windows socket部分。 sockets.pas中各个类得继承关系: TBaseSocket | ------------------------ | TIpSocket | -----------------------------...

javascript之数据推送

      我们使用ajax与后台服务进行交互,常常是通过触发事件来单次交互,但对于有些web应用来说,需要前台与后台保持长连接,前端不定时地接收后台推送的数据信息, 例如:股票行情分析、聊天室和网页在线游戏等。       怎么做到呢?       最笨的方法: 前端需要隔一段时间向服务器发送一次ajax,请求成本太昂贵呀,就好比,你每次约炮,都得开房,...