前言
Docker Engine提供RestFul API, Docker Cli通過Restful API和Docker Daemon進行互動,預設情況下,docker cli通過unix通道檔案和Daemon程序進行互動,也可以通過docker cli裡的--host參數指定,需要通信的Docker遠端機器進行互動, --host參數指定,需要進行連接配接的Docker daemon的監聽端口。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SOycDMzQTO1YGO4ATOxkDMzYzX2MzMwMDM3IzLchDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
預設情況下,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