橋接模式主機模式和對映容器模式

橋接模式

$ docker run –d –-name my_app -p 10000:80 image_name

請注意,我們不必指定 **–net = bridge,**因為這是 docker 的預設工作模式。這允許執行多個容器以在同一主機上執行,​​而無需分配任何動態埠。因此, BRIDGE 模式避免了埠衝突,並且每個容器執行自己的專用網路名稱空間時都是安全的。

主機模式

$ docker run –d –-name my_app –net=host image_name

由於它使用主機網路名稱空間,不需要特殊配置但可能導致安全問題。

對映容器模式

該模式實質上將新容器對映到現有容器網路堆疊中。這意味著第一個容器的 IP 地址和埠對映等網路資源將由第二個容器共享。這也稱為容器中的容器模式。假設你有兩個包含 web_container_1 和 web_container_2 的內容,我們將在對映容器模式下執行 web_container_2。讓我們首先下載 web_container_1 並使用以下命令將其執行到分離模式,

$ docker run -d --name web1 -p 80:80 USERNAME/web_container_1

一旦下載,我們來看看並確保它正在執行。這裡我們只是將一個埠對映到一個以預設橋接模式執行的容器。現在,讓我們在對映容器模式下執行第二個容器。我們將使用此命令執行此操作。

$ docker run -d --name web2 --net=container:web1 USERNAME/web_container_2

現在,如果你只是獲取兩個容器的介面資訊,你將獲得相同的網路配置。這實際上包括主機模式,它對映主機的確切資訊。第一個容器以預設橋接模式執行,第二個容器以對映容器模式執行。我們可以通過在主機模式下啟動第一個容器而在對映容器模式下啟動第二個容器來獲得非常相似的結果。