主頁 > 知識(shí)庫(kù) > Docker開啟遠(yuǎn)程訪問的實(shí)現(xiàn)方式

Docker開啟遠(yuǎn)程訪問的實(shí)現(xiàn)方式

熱門標(biāo)簽:地圖標(biāo)注小程序 海外工廠地圖標(biāo)注 貴陽網(wǎng)絡(luò)外呼系統(tǒng)軟件 宿州外呼系統(tǒng)公司 信陽電銷外呼系統(tǒng)怎么樣 株洲電銷 陜西辦理400電話 南昌外呼系統(tǒng)定制 南充電銷外呼系統(tǒng)

Docker守護(hù)進(jìn)程套接字

Docker守護(hù)進(jìn)程可以通過三種不同類型的套接字監(jiān)聽Docker Engine API請(qǐng)求:unix、tcpfd。

默認(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得到的頁面如下圖所示,很顯然是可以的。


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)文章希望大家以后多多支持腳本之家!

標(biāo)簽:鄭州 玉林 開封 拉薩 晉城 汕頭 石嘴山 三明

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Docker開啟遠(yuǎn)程訪問的實(shí)現(xiàn)方式》,本文關(guān)鍵詞  Docker,開啟,遠(yuǎn)程,訪問,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Docker開啟遠(yuǎn)程訪問的實(shí)現(xiàn)方式》相關(guān)的同類信息!
  • 本頁收集關(guān)于Docker開啟遠(yuǎn)程訪問的實(shí)現(xiàn)方式的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章