上一節咱們準備好了 macvlan 的實驗環境,今天在 host1 和 host2 中建立 macvlan 網絡 mac_net1:docker
注意:在 host2 中也要執行相同的命令。網絡
① -d macvlan
指定 driver 爲 macvlan。code
② macvlan 網絡是 local 網絡,爲了保證跨主機可以通訊,用戶須要本身管理 IP subnet。ip
③ 與其餘網絡不一樣,docker 不會爲 macvlan 建立網關,這裏的網關應該是真實存在的,不然容器沒法路由。路由
④ -o parent
指定使用的網絡 interface。容器
在 host1 中運行容器 bbox1 並鏈接到 mac_net1。二維碼
因爲 host1 中的 mac_net1 與 host2 中的 mac_net1 本質上是獨立的,爲了不自動分配形成 IP 衝突,咱們最好經過 --ip
指定 bbox1 地址爲 172.16.86.10。im
在 host2 中運行容器 bbox2,指定 IP 172.16.86.11。通信
驗證 bbox1 和 bbox1 的連通性。img
bbox2 可以 ping 到 bbox1 的 IP 172.16.86.10,但沒法解析 「bbox1」 主機名。
可見 docker 沒有爲 macvlan 提供 DNS 服務,這點與 overlay 網絡是不一樣的。
下一節咱們將詳細分析 macvlan 的網絡結構。