docker_practice/advanced_network
philipz 4e1f82eee6 Fix word 2014-11-20 14:12:07 +08:00
..
README.md Fix word 2014-11-20 14:12:07 +08:00
access_control.md replace '網絡' as '網路' 2014-11-20 01:06:47 +08:00
bridge.md replace '運行' as '執行' 2014-11-20 01:04:25 +08:00
config_file.md replace '網絡' as '網路' 2014-11-20 01:06:47 +08:00
dns.md replace '進程' as '程序' 2014-11-20 01:05:42 +08:00
docker0.md replace '網絡' as '網路' 2014-11-20 01:06:47 +08:00
example.md replace '網絡' as '網路' 2014-11-20 01:06:47 +08:00
how_connect.md rewrite the advanced network chapter 2014-09-18 17:38:20 +08:00
port_mapping.md replace '網絡' as '網路' 2014-11-20 01:06:47 +08:00
ptp.md replace '網絡' as '網路' 2014-11-20 01:06:47 +08:00
quick_guide.md replace '網絡' as '網路' 2014-11-20 01:06:47 +08:00

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 網路

接下來的部分將介紹在一些場景中Docker 所有的網路自訂配置。以及通過 Linux 命令來調整、補充、甚至替換 Docker 預設的網路配置。