共計 682 個字符,預(yù)計需要花費 2 分鐘才能閱讀完成。
這篇文章將為大家詳細講解有關(guān)外部世界如何訪問 Docker 容器,文章內(nèi)容質(zhì)量較高,因此丸趣 TV 小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
外部網(wǎng)絡(luò)如何訪問到容器?
答案是:端口映射。
docker 可將容器對外提供服務(wù)的端口映射到 host 的某個端口,外網(wǎng)通過該端口訪問容器。容器啟動時通過 - p 參數(shù)映射端口:
容器啟動后,可通過 docker ps 或者 docker port 查看到 host 映射的端口。在上面的例子中,httpd 容器的 80 端口被映射到 host 32773 上,這樣就可以通過 host ip : 32773 訪問容器的 web 服務(wù)了。
除了映射動態(tài)端口,也可在 -p 中指定映射到 host 某個特定端口,例如可將 80 端口映射到 host 的 8080 端口:
每一個映射的端口,host 都會啟動一個 docker-proxy 進程來處理訪問容器的流量:
以 0.0.0.0:32773- 80/tcp 為例分析整個過程:
docker-proxy 監(jiān)聽 host 的 32773 端口。
當(dāng) curl 訪問 10.0.2.15:32773 時,docker-proxy 轉(zhuǎn)發(fā)給容器 172.17.0.2:80。
httpd 容器響應(yīng)請求并返回結(jié)果。
我們首先學(xué)習(xí)了 Docker 的三種網(wǎng)絡(luò):none, host 和 bridge 并討論了它們的不同使用場景;然后我們實踐了創(chuàng)建自定義網(wǎng)絡(luò);最后詳細討論了如何實現(xiàn)容器與容器之間,容器與外部網(wǎng)絡(luò)之間的通信。
關(guān)于外部世界如何訪問 Docker 容器就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。