這幾天配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預定義的,不可刪除,也刪不掉)
第三步:建立容器並啟動
第四步:進入容器,驗證
1.5為我的windows ip
windows端測試:
小坑注意:如果第4步ping不通,可以去查一下window主機的防火牆(關閉)。
對於集中測試就方便多了。
完美。
docker宿主機訪問docker容器服務失敗
原因 因為docker的虛擬ip網段是172.17.與區域網的ip網段172.17衝突了,所以有兩種方式 解決方法 一 修改docker網絡卡資訊,將網段改為與區域網不同的即可 linux修改方法 第一步 刪除原有配置 sudo service docker stop sudo ip link se...
Docker容器訪問宿主機網路
業務請求量小的時候,我們會把一些工程部署到同一臺機器上。這些工程之間也會相互訪問。如果是http的介面,我們最方便的是使用localhost帶地本機的ip。不過結合docker容器後出現了問題。docker容器中localhost表示容器的ip位址。不是宿主機ip。其實docker容器執行的時候有h...
docker 宿主機與容器間複製檔案
將當前目錄的test.txt檔案複製到container容器的 home目錄下 docker cp container home test.txt home 將container容器內檔案複製到宿主機 我使用的為centos7 docker 1.12.6,其他版本不確定是否提供該命令 示例 假設我有...