docker0網絡詳解


 

1,理解docker0

 

 

 

 

2,啟動tomcat容器:

[root@CentOs ~]# docker run -d -P --name tomcat01 tomcat
14d77b1819d72094eb584d07be1f70499ca8ca9aa5dc75aebb22d0af5400ad40
[root@CentOs ~]#

 

 

3,查看容器的內網網絡地址:

docker exec -it tomcat01 ip addr

如果報錯:

OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: exec: "ip": executable file not found in $PATH: unknown
請參考此鏈接:https://www.cnblogs.com/zypdbk/p/16046636.html

 

之后會顯示下列內容,發現容器啟動時會得到一個 eth0@if65 這樣的IP地址,這個是docker給自動分配的

[root@CentOs ~]# docker exec -it tomcat01 ip addr
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
64: eth0@if65: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group defa
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
[root@CentOs ~]#

 

思考一個問題:linux能不能ping通容器?

答案是可以ping通!

 

 

 

 

原理:

(1),我們每啟動一個docker容器,docker就會給容器分配一個ip,我只要安裝了docker,就會有一個網卡docker0。

docker0使用的是橋接模式,使用的技術是veth-pair技術!

 

再次測試:ip addr

 

 

 

 

 

(2)再啟動一個容器測試,發現又多了一對網卡

 

 

 

 

 

 

 

 

 

我們發現發現這個容器帶來的網卡,都是一對對的,這就是veth-pair技術!

veth-pair 就是一對的虛擬設備接口,他們都是成對出現的,一端連着協議,一端彼此相連。

正因為有了這個技術,我們把它當做橋梁,連接各種虛擬網絡設備

OpenStack、docker容器之間的連接、OVS的連接,都是使用的veth-pair技術

 

(3)我們測試一下tomcat01和tomcat02是否可以ping通!

 

 

 

 

如果還是報錯:OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: exec: "ping": executable file not found in $PATH: unknown

進入容器內部手動安裝命令:apt-get install inetutils-ping,之后就可ping通了

 

結論:容器與容器之間是可以ping通的

 

繪制一個網絡模型圖:

 

 

 

 

網絡圖小結:tomcat01和tomcat02是共用一個路由器:docker0!

所有容器不指定網絡的情況下,都是docker0路由的,docker會給我們的容器分配一個默認的可用ip

 

 

 

 

5,小結:

 

docker使用的是Linux的橋接,宿主機中有一個docker容器的網橋:docker0!

docker中的所有的網絡接口都是虛擬的,虛擬的轉發效率高!

 

 

 

 

只要刪除容器,對應的網橋也就沒了!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM