Docker官方推薦我們通過端口映射的方式把Docker容器的服務(wù)提供給宿主機或者局域網(wǎng)其他容器使用。一般過程是:
1、Docker進(jìn)程通過監(jiān)聽宿主機的某個端口,將該端口的數(shù)據(jù)包發(fā)送給Docker容器
2、宿主機可以打開防火墻讓局域網(wǎng)其他設(shè)備通過訪問宿主機的端口進(jìn)而訪問docker的端口
但在實際使用中并不是很方便。
以下在win10環(huán)境中隊DockerDocker容器通過獨立IP暴露給局域網(wǎng)的方法進(jìn)行記錄。
Docker的默認(rèn)啟動方式中,會產(chǎn)生一塊虛擬網(wǎng)卡,然后容器內(nèi)自行分配單獨的網(wǎng)卡和IP。可以在宿主機上通過ipconfig命令看到這個虛擬網(wǎng)卡。

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

通過宿主機無法ping通

通過配置路由表實現(xiàn)ip互通
查看route print

查看docker 的ip地址

暴露給宿主機的為10.0.75.1
添加路由
route -p add 172.17.0.0 MASK 255.255.255.0 10.0.75.2

重新ping容器地址

現(xiàn)在則可以直接通過ip訪問。
由于docker默認(rèn)采用bridge網(wǎng)絡(luò),每次容器啟動時自動分配ip,我們可以創(chuàng)建自己的網(wǎng)絡(luò)bridge1,在創(chuàng)建容器時指定ip,如需獨立ip訪問則另外增加路由。
如
route -p add 172.18.12.0 MASK 255.255.255.0 10.0.75.2
如果刪除路由:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。