如上圖:我啟動了兩個docker容器,docker1和docker2,這兩個容器用的是同乙個映象(nginx映象),兩個分別將nginx的80埠對映到9090和9091埠,啟動後可在windows上正常訪問nginx服務。今天寫這個主要是記錄一下該網路架構中的路由**情況。
從這個圖中可以看出,很明顯最後兩條規則是針對「由外訪問docker內部的**規則」
黃色那兩條是「從內往外訪問規則」,但是很明顯的是,對內部的兩個位址偽裝了。至於偽裝為什麼了,可以通過tcpdump來抓包瞅瞅。
以docker1為例,首先進入docker1裡,之後,ping閘道器192.168.245.1,接著分別抓取docker1的veth*和host的eth0的流量包,如下:
可以發現,這個位址是被偽裝為了192.168.245.222
而兩個docker之間的溝通直接通過docker0**即可,不需要偽裝。
docker持久化儲存與網路架構
docker容器不保持任何資料 可將真機目錄掛載到容器內提供持久化儲存 root docker1 docker run v data data it docker.io centos bash我們可以利用nfs建立儲存伺服器,將客戶端掛載到nfs共享中,實現同一資料對映到多台客戶端的容器中去。nfs...
理解Docker架構
docker是乙個用於開發,發布和執行應用程式的開放平台。docker被設計用於更快的交付你的應用。使用dokcer,你可以將你的應用從基礎設施中分離出來,並且向對待乙個管理應用程式一樣對待你的基礎設施。docker幫助你更快的發布 更快的測試,更快的部署和縮短編寫 和執行 的週期。docker通過...
Docker 系統架構
docker 使用客戶端 伺服器 c s 架構模式,使用遠端 api 來管理和建立 docker 容器。docker 容器通過 docker 映象來建立。容器與映象的關係類似於物件導向程式設計中的物件與類 docker 物件導向 容器物件映象類 標題說明 映象 images docker 映象是用於...