溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

外部世界如何訪(fǎng)問(wèn) Docker容器

發(fā)布時(shí)間:2021-11-19 10:38:57 來(lái)源:億速云 閱讀:846 作者:柒染 欄目:云計(jì)算

這篇文章將為大家詳細(xì)講解有關(guān)外部世界如何訪(fǎng)問(wèn) Docker容器,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

外部網(wǎng)絡(luò)如何訪(fǎng)問(wèn)到容器?

答案是:端口映射。

docker 可將容器對(duì)外提供服務(wù)的端口映射到 host 的某個(gè)端口,外網(wǎng)通過(guò)該端口訪(fǎng)問(wèn)容器。容器啟動(dòng)時(shí)通過(guò)-p參數(shù)映射端口:

容器啟動(dòng)后,可通過(guò) docker ps 或者 docker port 查看到 host 映射的端口。在上面的例子中,httpd 容器的 80 端口被映射到 host 32773 上,這樣就可以通過(guò) <host ip>:<32773> 訪(fǎng)問(wèn)容器的 web 服務(wù)了。

除了映射動(dòng)態(tài)端口,也可在 -p 中指定映射到 host 某個(gè)特定端口,例如可將 80 端口映射到 host 的 8080 端口:

每一個(gè)映射的端口,host 都會(huì)啟動(dòng)一個(gè) docker-proxy 進(jìn)程來(lái)處理訪(fǎng)問(wèn)容器的流量:

以 0.0.0.0:32773->80/tcp 為例分析整個(gè)過(guò)程:

  1. docker-proxy 監(jiān)聽(tīng) host 的 32773 端口。

  2. 當(dāng) curl 訪(fǎng)問(wèn) 10.0.2.15:32773 時(shí),docker-proxy 轉(zhuǎn)發(fā)給容器 172.17.0.2:80。

  3. httpd 容器響應(yīng)請(qǐng)求并返回結(jié)果。

我們首先學(xué)習(xí)了 Docker 的三種網(wǎng)絡(luò):none, host 和 bridge 并討論了它們的不同使用場(chǎng)景;然后我們實(shí)踐了創(chuàng)建自定義網(wǎng)絡(luò);最后詳細(xì)討論了如何實(shí)現(xiàn)容器與容器之間,容器與外部網(wǎng)絡(luò)之間的通信。

關(guān)于外部世界如何訪(fǎng)問(wèn) Docker容器就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI