docker 網路 實現

2022-08-19 09:21:10 字數 1629 閱讀 2516

最近在學習docker網路相關的知識,關於網路這塊兒記下來,以便review

dokcer安裝完成之後預設提供三種網路  bridge host none  docker預設使用bridge

bridge在物理機之上建立乙個軟交換機 docker0  同事也可以當網絡卡使用 給予ip

啟動容器的時候會給容器賦予乙個網絡卡乙個ip,同時在交換機上給另乙個ip,乙個網絡卡

使用brctl show 可以看到docker0 上面的網絡卡的介面,目前有兩個,因為啟動了兩個docker

這幅圖我們能發現這個介面對應了if38 if 50 那麼這個if38 if50 沒有顯示出來是因為這一半在容器中

在docker裡面找到對應的另一半

docker0 橋預設是個nat橋 ,沒生成乙個容器之後 都會生成iptables規則如下:

任何介面進來只要不是到達docker0的位址,都需要作偽裝

第一種 橋接網路模式,如果外部主機想要訪問本機的乙個docker,只有使用snat,d

nat方式實現。  在主機的網絡卡上做埠的對映。

容器是由user mount pid uts net ipc六個獨立的命名空間組成  namespace資源隔離  cgroup資源劃分

第二種 :

通過左圖方式能使多個容器共用乙個網路介面 也就是乙個lo通訊,聯盟式網路

第三種:host 讓容器使用宿主機的namespace,就擁有了管理主機的網路權力,是第三種的衍生,第三種是2個docker共享網路資源,使得2個docker內部程式可以通過lo直接通訊

第四種  none 使得容器成為乙個孤島 只處理自己的程式

可以通過docker network inspect bridge 檢視 bridge網路的預設配置

Docker網路實現容器互聯

docker network create d bridge 網路名稱 步驟1 在 data dockerfile目錄下,vim dockerfile新增如下內容 from ubuntu 14.04 run apt get install y ping run apt get update apt ...

Docker 初識Docker網路

我們每啟動乙個docker容器,docker就會給docker容器分配乙個ip,我們只要安裝了docker,就會有乙個網絡卡docker0。一 啟動兩個tomcat容器 root localhost docker run d p name tomcat01 tomcat 啟動映象,生成tomcat0...

Docker之自定義網路實現

目錄 四類網路模式,使用docker network www.cppcns.comls檢視docker網路模式 docker網路模式 配置說明 host模式 net host 容器和宿主機共享network namespace。container模式 net container name or id...