docker內容器與宿主機相同網段互通的解決方案


這幾天配docker,解決容器和宿主機處於同一網段且互通的問題,找遍全網,沒有看到合適的解決方案,大部分都是粘貼,從個別同學那得到了一些啟示

終於完美解決

現記錄下來,給日后需要的同學一個完整的借鑒,讓大家少走彎路(老實說,很不喜歡操作配置,浪費時間。。。。)

配置情況:

windows上vmware,裝centos7, docker運行在centos7上

幾個關鍵點如下:

1)centos7網卡(ens33)設置混雜模式

ip link set ens33 promisc on  //注意:此處ens33為我的centos下的網卡名稱,您的網卡名稱需要具體查詢一下,命令:ip addr

 

 

第二步:創建macvlan網絡

docker network create -d macvlan --subnet=192.168.1.0/24 --ip-range=192.168.1.0/24 -o macvlan_mode=bridge -o parent=ens33 macvlan

 

創建成功,可以查詢,命令:docker network ps

圖內第三行,macvlan就是剛創建的(其他三個為 docker預定義的,不可刪除,也刪不掉)

 

 

第三步:創建容器並啟動 docker run -itd --network=mymacvlan --ip=192.168.1.44 --name=test20centos1013 centos

 

 

第四步:進入容器,驗證

docker exec -it test20centos1013 /bin/bash

 

1.5為我的windows ip

windows端測試:

 

 

 

小坑注意:如果第4步Ping不通,可以去查一下window主機的防火牆(關閉)。

 

 

對於集中測試就方便多了。

完美。

 


免責聲明!

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



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