a795bf863a
"s/程序/程式/g" "s/性能/效能/g" "s/如下/以下/g" "s/加載/載入/g" "s/獲取/取得/g" "s/服務器/伺服器/g" "s/信息/訊息/g" "s/註釋/註解/g" "s/裏/裡/g" "s/構建/建立/g" "s/配置/設定/g" |
||
---|---|---|
.. | ||
README.md | ||
access_control.md | ||
bridge.md | ||
config_file.md | ||
dns.md | ||
docker0.md | ||
example.md | ||
how_connect.md | ||
port_mapping.md | ||
ptp.md | ||
quick_guide.md |
README.md
進階網路設定
本章將介紹 Docker 的一些進階網路設定和選項。
當 Docker 啟動時,會自動在主機上建立一個 docker0
虛擬橋接器,實際上是 Linux 的一個 bridge,可以理解為一個軟體交換機。它會在掛載到它的網卡之間進行轉發。
同時,Docker 隨機分配一個本地未占用的私有網段(在 RFC1918 中定義)中的一個地址給 docker0
接口。比如典型的 172.17.42.1
,網路遮罩為 255.255.0.0
。此後啟動的容器內的網卡也會自動分配一個同一網段(172.17.0.0/16
)的網址。
當建立一個 Docker 容器的時候,同時會建立了一對 veth pair
接口(當數據包發送到一個接口時,另外一個接口也可以收到相同的數據包)。這對接口一端在容器內,即 eth0
;另一端在本地並被掛載到 docker0
網橋,名稱以 veth
開頭(例如 vethAQI2QT
)。透過這種方式,主機可以跟容器通信,容器之間也可以相互通信。Docker 就建立了在主機和所有容器之間一個虛擬共享網路。
接下來的部分將介紹在一些場景中,Docker 所有的網路自訂設定。以及透過 Linux 命令來調整、補充、甚至替換 Docker 預設的網路設定。