Docker開啟遠(yuǎn)程訪問的實(shí)現(xiàn)方式
Docker守護(hù)進(jìn)程套接字
Docker守護(hù)進(jìn)程可以通過三種不同類型的套接字監(jiān)聽Docker Engine API請(qǐng)求:unix
、tcp
和fd
。
默認(rèn)情況下,在/var/run/docker.sock
處創(chuàng)建一個(gè)unix
域套接字(或IPC套接字),需要root
權(quán)限或docker
組成員身份。
如果需要遠(yuǎn)程訪問Docker守護(hù)進(jìn)程,則需要啟用tcp
套接字。請(qǐng)注意,默認(rèn)設(shè)置提供了對(duì)Docker守護(hù)進(jìn)程的未加密和未經(jīng)身份驗(yàn)證的直接訪問,應(yīng)該使用內(nèi)置的HTTPS加密套接字或在其前面放置一個(gè)安全的web
代理來進(jìn)行保護(hù)。你可以使用-H tcp://0.0.0.0:2375
監(jiān)聽所有網(wǎng)絡(luò)接口上的2375
端口,或使用其IP地址-H tcp://ip:2375
監(jiān)聽特定網(wǎng)絡(luò)接口上的2375
端口。通常使用端口2375
與守護(hù)進(jìn)程進(jìn)行非加密通信,使用端口2376
與守護(hù)進(jìn)程進(jìn)行加密通信。
注意:如果你使用的是HTTPS加密的套接字,請(qǐng)記住,僅支持TLS1.0
及更高版本。出于安全原因,SSLv3
及以下版本的協(xié)議不再受支持。
修改docker.service
vim /usr/lib/systemd/system/docker.service
在[Service]
部分,修改ExecStart
參數(shù),在最后增加-H tcp://0.0.0.0:2375
,監(jiān)聽所有網(wǎng)絡(luò)接口上的2375
端口。
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375
重新加載配置文件和啟動(dòng)服務(wù)
systemctl daemon-reload && systemctl restart docker
daemon-reload
: 重新加載服務(wù)的配置文件,要是服務(wù)的配置文件發(fā)生變化,則需要重新加載restart
:重新啟動(dòng)服務(wù)。
查看dockerd
進(jìn)程是否正在監(jiān)聽2375
端口:
[root@izoq008ryseuupz ~]# netstat -antp | grep dockerd tcp6 0 0 :::2375 :::* LISTEN 22494/dockerd
netstat
命令用于顯示網(wǎng)絡(luò)狀態(tài),部分選項(xiàng)的作用如下:
-a
或--all
:顯示所有連線中的Socket。-n
或--numeric
:直接使用IP地址,而不通過域名服務(wù)器。-t
或--tcp
:顯示TCP傳輸協(xié)議的連線狀況。-p
或--programs
:顯示正在使用Socket的程序識(shí)別碼和程序名稱。
測(cè)試
接下來測(cè)試一下通過localhost
是否能使用Docker Engine API。
[root@izoq008ryseuupz ~]# curl http://localhost:2375/version {"Platform":{"Name":"Docker Engine - Community"},"Components":[{"Name":"Engine","Version":"19.03.13","Details":{"ApiVersion":"1.40","Arch":"amd64","BuildTime":"2020-09-16T17:02:21.000000000+00:00","Experimental":"false","GitCommit":"4484c46d9d","GoVersion":"go1.13.15","KernelVersion":"3.10.0-514.26.2.el7.x86_64","MinAPIVersion":"1.12","Os":"linux"}},{"Name":"containerd","Version":"1.3.7","Details":{"GitCommit":"8fba4e9a7d01810a393d5d25a3621dc101981175"}},{"Name":"runc","Version":"1.0.0-rc10","Details":{"GitCommit":"dc9208a3303feef5b3839f4323d9beb36df0a9dd"}},{"Name":"docker-init","Version":"0.18.0","Details":{"GitCommit":"fec3683"}}],"Version":"19.03.13","ApiVersion":"1.40","MinAPIVersion":"1.12","GitCommit":"4484c46d9d","GoVersion":"go1.13.15","Os":"linux","Arch":"amd64","KernelVersion":"3.10.0-514.26.2.el7.x86_64","BuildTime":"2020-09-16T17:02:21.000000000+00:00"}
curl
是常用的命令行工具,用來請(qǐng)求Web服務(wù)器。不帶任何參數(shù)時(shí),curl
發(fā)出GET請(qǐng)求。
很顯然可以通過localhost
使用Docker Engine API。
再來測(cè)試一下遠(yuǎn)程通過主機(jī)IP能否使用Docker Engine API,請(qǐng)求http://ip:2375/version
得到的頁(yè)面如下圖所示,很顯然是可以的。
IDEA也是可以進(jìn)行遠(yuǎn)程連接的。
可能的問題
如果遠(yuǎn)程訪問不了,可能需要設(shè)置一下服務(wù)器的防火墻,應(yīng)該是2375
端口沒有暴露出去,所以遠(yuǎn)程訪問不了,博主是阿里云的服務(wù)器(Centos7.3
)。
到此這篇關(guān)于Docker開啟遠(yuǎn)程訪問的實(shí)現(xiàn)方式的文章就介紹到這了,更多相關(guān)Docker 遠(yuǎn)程訪問內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
CentOS修改docker鏡像存儲(chǔ)位置并進(jìn)行數(shù)據(jù)遷移的操作方法
本文詳細(xì)介紹了在CentOS上修改Docker鏡像存儲(chǔ)位置并進(jìn)行數(shù)據(jù)遷移的步驟,包括停止Docker服務(wù)、創(chuàng)建新的存儲(chǔ)目錄、復(fù)制現(xiàn)有數(shù)據(jù)、修改Docker配置、重啟Docker服務(wù)、驗(yàn)證配置、清理舊數(shù)據(jù)(可選)以及檢查容器和鏡像,感興趣的朋友一起看看吧2025-01-01docker在windows創(chuàng)建卷后本地找不到的完美解決方法
這篇文章主要介紹了docker在windows創(chuàng)建卷后本地找不到的完美解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-02-02docker 可用鏡像服務(wù)地址的使用(親測(cè)可用)
Docker可用的鏡像服務(wù)地址通常指的是Docker鏡像倉(cāng)庫(kù)的地址,用于拉取和推送鏡像,本文就來介紹了docker 可用鏡像服務(wù)地址的使用,感興趣的可以了解一下2024-10-10Docker安裝MySQL8.0的實(shí)現(xiàn)方法
這篇文章主要介紹了Docker安裝MySQL8.0的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01Docker容器沒有權(quán)限寫入宿主機(jī)目錄的解決方案
這篇文章主要介紹了Docker容器沒有權(quán)限寫入宿主機(jī)目錄的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03docker?mysql關(guān)于配置文件、連接客戶端、/docker-entrypoint-initdb.d/目錄的使用
這篇文章主要介紹了docker?mysql關(guān)于配置文件、連接客戶端、/docker-entrypoint-initdb.d/目錄的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05詳解CentOS7用阿里云Docker Yum源在線安裝Docker 17.03.2
這篇文章主要介紹了詳解CentOS7用阿里云Docker Yum源在線安裝Docker 17.03.2,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09