天天看点

如何开启Docker的TCP通信端口

前言

Docker Engine提供RestFul API, Docker Cli通过Restful API和Docker Daemon进行交互,默认情况下,docker cli通过unix通道文件和Daemon进程进行交互,也可以通过docker cli里的--host参数指定,需要通信的Docker远端机器进行交互, --host参数指定,需要进行连接的Docker daemon的监听端口。

如何开启Docker的TCP通信端口

 默认情况下,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

如何开启Docker的TCP通信端口
[root@CENTOS-01 ~]# vi /usr/lib/systemd/system/docker.service      
如何开启Docker的TCP通信端口

如下加入

-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的TCP通信端口

 开启DOCKER_REMOTE = yes

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

结束语