Docker筆記:一篇學會Docker網路知識
今天給大家介紹docker的網路知識,歡迎大家互相交流學習!
1、docker網路介紹
當我們的伺服器成功安裝docker並啟動程序後,就會產生一個docker0的虛擬網橋,本質為Linux網橋(預設為橋接模式),使用的通訊技術是Veth-pair技術.
當我們每啟動一個容器,docker就給對應容器分配一個eth0,並能夠橋接到docker0網絡卡。這個時候可以把docker0看作為路由器,每個容器可以看作為連線路由器的網路裝置,docker0用來管理每個容器的和docker0通訊的對映關係。
檢視網路資訊;
ip addr
具體如下圖:
lo:表示本地迴環地址
dockers0:表示docker容器安裝自動產生的docker0地址。
2、測試容器和宿主主機的通訊
2.1 宿主主機可以ping通 docker0
ping 172.17.0.1
執行效果如下圖
2.2 容器內部ping宿主主機也可以ping通
ping 192.168.0.116
2.3 dockers中nginx解決沒有ping命令的問題
大家如果安裝的nginx沒有ping命令的話,可以採用下面的兩條命令安裝ping。
apt-get update #獲取更新軟體源
apt install iputils-ping #安裝ping命令
2.4 容器之間也可以互相ping通
-- 獲取docker所有容器的IP地址 docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)
nginxtest 容器內IP是 172.17.05
nginxtest02 容器內IP是 172.17.06
測試一下是否能夠ping通
docker exec -it nginxtest /bin/bash ping 172.17.0.6
docker exec -it nginxtest02 /bin/bash ping 172.17.0.5
3、evth-pair技術簡介
evth-pair就是一對虛擬裝置介面,它們都是成對出現的,一端連著協議,一端彼此相連,所以可以通訊。evth-pair可以充當一個橋樑。
4、Docker網路總結
Docker 使用的是Liunx的橋接原理,宿主機中是一個Docker容器的網橋 docker0。Docker 中所有的網路介面的是虛擬的,虛擬的轉發效率高,
docker容器網橋的生成周期:docker容器刪除,對應的一對網橋就沒了。
「其他文章」
- Spring中實現非同步呼叫的方式有哪些?
- 帶引數的全型別 Python 裝飾器
- 整理了幾個Python正則表示式,拿走就能用!
- 設計模式之狀態模式
- 如何實現資料庫讀一致性
- SOLID:開閉原則Go程式碼實戰
- React中如何引入CSS呢
- 慢查詢 MySQL 定位優化技巧,從10s優化到300ms
- 一個新視角:前端框架們都卷錯方向了?
- 編碼中的Adapter,不僅是一種設計模式,更是一種架構理念與解決方案
- 手寫程式語言-遞迴函式是如何實現的?
- 一文搞懂模糊匹配:定義、過程與技術
- 新來個阿里 P7,僅花 2 小時,做出一個多執行緒永動任務,看完直接跪了
- Puzzlescript,一種開發H5益智遊戲的引擎
- @Autowired和@Resource到底什麼區別,你明白了嗎?
- “四招”守護個人資訊保安
- CSS transition 小技巧!如何保留 hover 的狀態?
- React如此受歡迎離不開這4個主要原則
- 我是怎麼入行做風控的
- 重溫三十年前對於 NN 的批判:神經網路無法實現可解釋 AI