Docker的網絡模式大概可以分為5種類型。安裝完 Docker默認,宿主機默認會創建三個網絡,分別是bridge網絡,host網絡,none網絡,可以使用docker network ls命令查看。
這種網絡模式下容器只有lo回環網絡,沒有其他網卡。none網絡可以在容器創建時通過 --network=none 來指定。這種類型的網絡沒有辦法聯網,封閉的網絡能很好的保證容器的安全性。
通過命令--network=host 指定,使用host模式的容器可以直接使用docker host的IP地址與外界通信,容器內部的服務端口也可以使用宿主機的端口,不需要進行NAT,host最大的優勢就是網絡性能比較好,但是docker host上已經使用的端口就不能再用了,網絡的隔離性不好。
容器的默認網絡模式,docker在安裝時會創建一個名為docker0的Linux bridge,在不指定--network的情況下,創建的容器都會默認掛到docker0上面。
隨便啟動一個容器,查看新生成的網卡信息
創建一個容器之后一個新的網絡接口被掛載到了docker0上,這個就是容器創建時創建的虛擬網卡。bridge模式為容器創建獨立的網絡棧,保證容器內的進程使用獨立的網絡環境,使容器之間,容器和docker host之間實現網絡隔離。
創建容器時使用--network=container:NAME_or_ID這個模式在創建新的容器的時候指定容器的網絡和一個已經存在的容器共享一個Network Namespace,但是并不為docker容器進行任何網絡配置,這個docker容器沒有網卡、IP、路由等信息,需要手動的去為docker容器添加網卡、配置IP等。
用戶自定義模式主要可選的有三種網絡驅動:bridge、overlay、macvlan。bridge驅動用于創建類似于前面提到的bridge網絡;overlay和macvlan驅動用于創建跨主機的網絡、IP等。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。