Docker網路模式說明

2022-07-25 18:51:09 字數 846 閱讀 1604

現在的docker版本不推薦繼續使用link了,而是推薦用網路模式解決問題,簡單講一下最常用的幾個網路模式,其他我用到時候再補充。

-net不加引數就是預設的bridge模式,這個預設bridge模式下,容器會連線到預設網橋docker0,但容器與宿主機,容器與容器的網路均是隔離的,無法互相訪問,想要訪問需要將容器的一些埠expose,對於單容器服務而言通常已經足夠了。

如果想讓容器互相通訊,需要採用自定義bridge的方法,執行命令

docker network ls
可以看到有哪些網路已經建立,使用命令

docker network create
可以建立自定義網橋,之後,執行映象時指定網橋並給映象名稱,如

docker run -it --network --name
則指定了容器的網橋。使用同一網橋的容器互相連通,可以通過容器名互相訪問,這樣的模式能夠應對同一機器上幾個容器組合工作的場景。

host模式無需多言,即讓容器和宿主機共享同一網路,適合於多機工作的服務,需要注意的是容器內部執行程式的埠不能和宿主機有衝突,這裡建議在建立映象的dockerfile中通過entrypoint來靈活定義容器內服務的埠,例如,乙個跑sshd服務的容器,可以在dockerfile中加入如下一行作為最後一行:

entrypoint ["/usr/sbin/sshd","-d","-p"]
執行時,只需要使用

docker run -d --network host
即可在指定埠執行,這樣就不會和主機的sshd埠衝突。

Docker 網路模式

host 模式並沒有為容器建立乙個隔離的網路環境。該模式下的docker 容器會和host宿主機共享同乙個網路namespace,docker container可以和宿主機一樣,使用宿主機的eth0,實現和外界的通訊。host模式特點包括 容器沒有隔離的 network namespace 容器的...

docker網路模式

我們在使用docker run建立docker容器時,可以用 net選項指定容器的網路模式,docker有以下4種網路模式 host模式,使用 net host指定。container模式,使用 net container name or id指定。none模式,使用 net none指定。brid...

docker基礎 docker網路模式

docker啟動之後,會在宿主機虛擬乙個docker容器網橋 docker0 docker啟動乙個容器時會根據docker網橋的網段分配給容器乙個ip位址,稱為container ip,其實,總共有5種,常用的是以下4種 docker網路模式 配置 說明 host模式 net host 容器和宿主機...