Docker0基本原理
Docker 服務(wù)默認會創(chuàng)建一個 docker0 網(wǎng)橋(evth-pair),它在內(nèi)核層連通了其他的物理或虛擬網(wǎng)卡,這就將所有容器和本地主機都放到同一個物理網(wǎng)絡(luò)。
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether fa:16:3e:59:fd:3b brd ff:ff:ff:ff:ff:ff
inet 172.29.67.55/24 brd 172.29.67.255 scope global dynamic eth0
valid_lft 3152665450sec preferred_lft 3152665450sec
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:29:85:de:4f brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
啟動Docker容器的時候,Docker會給Docker容器分配一個IP
啟動一個容器,會出現(xiàn)一對網(wǎng)卡
宿主機:
497: vethf5da2d@if496: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default
link/ether ba:6f:34:6e:3f:0f brd ff:ff:ff:ff:ff:ff link-netnsid 1
Docker容器內(nèi)部:
496: eth@if497: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:ac:11:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 172.17.0.3/16 brd 172.17.255.255 scope global eth0
valid_lft forever preferred_lft forever
使用evth-pair設(shè)備連接宿主機網(wǎng)絡(luò)與容器網(wǎng)絡(luò)
![image]()