docker for windows 容器內網通過獨立IP直接訪問的方法


Docker官方推薦我們通過端口映射的方式把Docker容器的服務提供給宿主機或者局域網其他容器使用。一般過程是:

1、Docker進程通過監聽宿主機的某個端口,將該端口的數據包發送給Docker容器

2、宿主機可以打開防火牆讓局域網其他設備通過訪問宿主機的端口進而訪問docker的端口

但在實際使用中並不是很方便。

以下在win10環境中隊DockerDocker容器通過獨立IP暴露給局域網的方法進行記錄。

Docker的默認啟動方式中,會產生一塊虛擬網卡,然后容器內自行分配單獨的網卡和IP。可以在宿主機上通過ipconfig命令看到這個虛擬網卡。

clipboard

打開一個容器,可以看到容器ip地址為自動分配的。

clipboard

通過宿主機無法ping通

clipboard

通過配置路由表實現ip互通

查看route print

clipboard

查看docker 的ip地址

clipboard[1]

暴露給宿主機的為10.0.75.1

添加路由

route -p add 172.17.0.0 MASK 255.255.255.0 10.0.75.2

clipboard[2]

重新ping容器地址

clipboard[3]

現在則可以直接通過ip訪問。

由於docker默認采用bridge網絡,每次容器啟動時自動分配ip,我們可以創建自己的網絡bridge1,在創建容器時指定ip,如需獨立ip訪問則另外增加路由。

route -p add 172.18.12.0 MASK 255.255.255.0 10.0.75.2

如果刪除路由:

route delete 172.18.12.0


免責聲明!

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



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