docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > 开启Docker的TCP通信端口

开启Docker的TCP通信端口方式

作者:inthirties

这篇文章主要介绍了开启Docker的TCP通信端口方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

开启Docker的TCP通信端口

Docker Engine提供RestFul API, Docker Cli通过Restful API和Docker Daemon进行交互,默认情况下,docker cli通过unix通道文件和Daemon进程进行交互,也可以通过docker cli里的

默认情况下,Docker的socket tcp端口是没有打开的,只提供本地的unix的通道文件的通信方式。

今天给大家介绍的就是,如何打开Docker的socket通信方式。 在爱上开源之DockerUI系列视频里,给大家介绍DockerUI来进行Docker管理的时候也提到过,这样的启动方式。

修改启动文件

找到启动文件,修改启动文件的运行参数,使其支持TCP通信方式;Docker Daemon应用的方式不同,启动的途径也各不相同,

在Centos7或者以上的Docker环境里

在这个环境下,Docker是通过Systemclt里的服务进行启动的, 在这个环境下,我们就需要修改Docker的启动的service。  

[root@CENTOS-01 ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2022-03-25 05:30:16 CST; 3h 7min ago
     Docs: https://docs.docker.com
 Main PID: 315761 (dockerd)
    Tasks: 47
   Memory: 75.8M
   CGroup: /system.slice/docker.service
           └─315761 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375

通过命令可以找到docker服务的启动文件路径: /usr/lib/systemd/system/docker.service

[root@CENTOS-01 ~]# vi /usr/lib/systemd/system/docker.service

如下加入

-H tcp://0.0.0.0:2375

重启服务

[root@CENTOS-01 ~]# systemctl daemon-reload
[root@CENTOS-01 ~]# systemctl restart docker

其他系统

docker@boot2docker:~$ vi /etc/init.d/docker

开启DOCKER_REMOTE = yes

修改后,重新启动服务

docker@boot2docker:~$ /etc/init.d/docker restart 

记得,开启TCP以后,记得把相关端口的访问防火墙开启。

注意:

通过上面的方法,就已经可以开启docker daemon的tcp通信端口进行通信, dockerUI也可以通过--endpoint的指定, 来访问远端的Docker节点了。

Docker TCP端口开放

CentOS7 通用版

cat > /etc/systemd/system/docker.service.d/tcp.conf <<EOF
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
EOF

注意: -H fd:// 仅Ubuntu可用,我就被这个坑了好久。

systemctl daemon-reload
systemctl restart docker

验证

netstat -an | grep 2375

一切OK。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文