開啟Docker的TCP通信端口方式
開啟Docker的TCP通信端口
Docker Engine提供RestFul API, Docker Cli通過(guò)Restful API和Docker Daemon進(jìn)行交互,默認(rèn)情況下,docker cli通過(guò)unix通道文件和Daemon進(jìn)程進(jìn)行交互,也可以通過(guò)docker cli里的
- --host參數(shù)指定,需要通信的Docker遠(yuǎn)端機(jī)器進(jìn)行交互
- --host參數(shù)指定,需要進(jìn)行連接的Docker daemon的監(jiān)聽端口
默認(rèn)情況下,Docker的socket tcp端口是沒有打開的,只提供本地的unix的通道文件的通信方式。
今天給大家介紹的就是,如何打開Docker的socket通信方式。 在愛上開源之DockerUI系列視頻里,給大家介紹DockerUI來(lái)進(jìn)行Docker管理的時(shí)候也提到過(guò),這樣的啟動(dòng)方式。
修改啟動(dòng)文件
找到啟動(dòng)文件,修改啟動(dòng)文件的運(yùn)行參數(shù),使其支持TCP通信方式;Docker Daemon應(yīng)用的方式不同,啟動(dòng)的途徑也各不相同,
在Centos7或者以上的Docker環(huán)境里
在這個(gè)環(huán)境下,Docker是通過(guò)Systemclt里的服務(wù)進(jìn)行啟動(dòng)的, 在這個(gè)環(huán)境下,我們就需要修改Docker的啟動(dòng)的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
通過(guò)命令可以找到docker服務(wù)的啟動(dòng)文件路徑: /usr/lib/systemd/system/docker.service
[root@CENTOS-01 ~]# vi /usr/lib/systemd/system/docker.service
如下加入
-H tcp://0.0.0.0:2375
重啟服務(wù)
[root@CENTOS-01 ~]# systemctl daemon-reload [root@CENTOS-01 ~]# systemctl restart docker
其他系統(tǒng)
docker@boot2docker:~$ vi /etc/init.d/docker
開啟DOCKER_REMOTE = yes
修改后,重新啟動(dòng)服務(wù)
docker@boot2docker:~$ /etc/init.d/docker restart
記得,開啟TCP以后,記得把相關(guān)端口的訪問(wèn)防火墻開啟。
注意:
通過(guò)上面的方法,就已經(jīng)可以開啟docker daemon的tcp通信端口進(jìn)行通信, dockerUI也可以通過(guò)--endpoint的指定, 來(lái)訪問(wèn)遠(yuǎn)端的Docker節(jié)點(diǎn)了。
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可用,我就被這個(gè)坑了好久。
systemctl daemon-reload systemctl restart docker
驗(yàn)證
netstat -an | grep 2375
一切OK。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Docker部署Web在線版的PPT應(yīng)用程序PPTist
PPTist作為一款開源的Web應(yīng)用程序,無(wú)需安裝、跨平臺(tái)且支持實(shí)時(shí)協(xié)作的幻燈片制作,本文介紹了如何使用Docker部署Web在線版的PPTist,包括本地環(huán)境規(guī)劃、檢查、下載PPTist鏡像、部署PPTist應(yīng)用以及訪問(wèn)PPTist首頁(yè)的步驟2025-02-02Docker安裝node-red、導(dǎo)入節(jié)點(diǎn)、部署查看的步驟詳解
Node-RED設(shè)計(jì)使用的場(chǎng)景是IoT,但是作為一個(gè)流編排引擎,顯然它能做的事情更多,比如使用容器化的方式進(jìn)行構(gòu)建、打包、部署等操作也是可行的,這篇文章繼續(xù)介紹Docker安裝node-red、導(dǎo)入節(jié)點(diǎn)、部署查看的相關(guān)知識(shí),感興趣的朋友一起看看吧2022-01-01Docker實(shí)現(xiàn)進(jìn)入容器內(nèi)部的方法
這篇文章主要介紹了Docker實(shí)現(xiàn)進(jìn)入容器內(nèi)部的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01使用docker構(gòu)建一個(gè)redis鏡像的方法詳解
Redis是一個(gè)開源的使用ANSI C語(yǔ)言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value型NoSQL數(shù)據(jù)庫(kù),本文介紹了docker創(chuàng)建redis鏡像的方法,分享給大家,需要的朋友可以參考下2024-06-06一文詳解如何修改Docker的默認(rèn)存儲(chǔ)路徑
這篇文章主要介紹了關(guān)于如何修改Docker的默認(rèn)存儲(chǔ)路徑的相關(guān)資料,默認(rèn)安裝的情況下,會(huì)使用 /var/lib/docker/ 目錄作為存儲(chǔ)目錄,用以存放拉取的鏡像和創(chuàng)建的容器等,這個(gè)路徑是系統(tǒng)存儲(chǔ)目錄,一般空間會(huì)比較小,需要的朋友可以參考下2023-08-08