這幾天配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主機的防火牆(關閉)。
對於集中測試就方便多了。
完美。