docker在容器內部執行應用,這些應用之間的互動依賴於大量不同的網路,這意味著docker需要強大的網路功能。
docker 網路從覆蓋範圍可分為單個 host 上的容器網路和跨多個 host 的網路,單機意味著該網路只能在單個docker主機上執行,並且只能與所在docker主機上的容器進行連線。主要分為三種網路,none、host、bridge。
每個docker主機都有乙個預設的單機橋接網路。在linux上網路名稱為bridge,除非通過命令列建立容器時指定引數--network,否則預設情況下,新建立的容器都會連線到該網路。
docker 安裝時會自動在 host 上建立三個網路,使用docker network ls檢視本機建立的docker網路
➜ first-network git:(1d4d04e9c) ✗ docker network ls
network id name driver scope
63f7ed247cf6 bridge bridge local
6a36000d75cc host host local
31edf37a7261 none null local
可以通過docker network inspect檢視某個網路具體描述
➜ ~ docker network inspect bridge
[ ]},
"internal": false,
"attachable": false,
"ingress": false,
"configfrom": ,
"configonly": false,
"containers": {},
"options": ,
"labels": {}
}]
none 網路就是什麼都沒有的網路。掛在這個網路下的容器除了 lo,沒有其他任何網絡卡。容器建立時,可以通過 --network=none 指定使用 none 網路。
連線到 host 網路的容器共享 docker host 的網路棧,容器的網路配置與 host 完全一樣。可以通過 --network=host 指定使用 host 網路。
在linux docker主機之上,預設的「bridge」網路被對映到核心中為「docker0」的linux網橋。可以通過docker network inspect命令觀察到上面的輸出內容。
"com.docker.network.bridge.name": "docker0",
在啟動容器時,可以根據--network=bridge指定docker網路。
docker 提供三種 user-defined 網路驅動:bridge, overlay 和 macvlan。overlay 和 macvlan 用於建立跨主機的網路,我們後面有章節單獨討論。
docker網路有自己的子命令,主要包括以下幾種。
菜鳥系列 劃分樹
做回菜鳥,老老實實重新學起 資料結構 求k大值及左右和模版 define n 123456 int sorted n 對原集合中元素排序後的值 int val 20 n val記錄第k層當前位置的值 int num 20 n 記錄元素所在區間當前位置前的元素進入到左子樹的個數 int lnum,rn...
菜鳥系列 字典樹
做回菜鳥,老老實實重新學起 動態模版 動態鍊錶實現 define maxn 26 struct node node root 字典樹建立 void createtrie char str else 查詢 int findtrie char str return p v 返回以此為字首的串的數量 釋放...
菜鳥授徒系列之母函式
這是第二次接觸母函式類問題,相比於第一次的朦朦朧朧,第二次更加深刻。深深地感到母函式的強大,真是解決組合問題的一 寶,將做過的題分類 總結加深一下記憶。母函式包括 普通生成函式 解決組合問題 指數生成函式 解決排列問題 這裡全部是普通生成函式,可解決一系列組合問題,做題時要將題意與生成函式 g x ...