Docker官方推薦我們通過端口映射的方式把Docker容器的服務(wù)提供給宿主機(jī)或者局域網(wǎng)其他容器使用。一般過程是:
1、Docker進(jìn)程通過監(jiān)聽宿主機(jī)的某個(gè)端口,將該端口的數(shù)據(jù)包發(fā)送給Docker容器
2、宿主機(jī)可以打開防火墻讓局域網(wǎng)其他設(shè)備通過訪問宿主機(jī)的端口進(jìn)而訪問docker的端口
但在實(shí)際使用中并不是很方便。
以下在win10環(huán)境中隊(duì)DockerDocker容器通過獨(dú)立IP暴露給局域網(wǎng)的方法進(jìn)行記錄。
Docker的默認(rèn)啟動方式中,會產(chǎn)生一塊虛擬網(wǎng)卡,然后容器內(nèi)自行分配單獨(dú)的網(wǎng)卡和IP??梢栽谒拗鳈C(jī)上通過ipconfig命令看到這個(gè)虛擬網(wǎng)卡。
打開一個(gè)容器,可以看到容器ip地址為自動分配的。
通過宿主機(jī)無法ping通
通過配置路由表實(shí)現(xiàn)ip互通
查看route print
查看docker 的ip地址
暴露給宿主機(jī)的為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ò),每次容器啟動時(shí)自動分配ip,我們可以創(chuàng)建自己的網(wǎng)絡(luò)bridge1,在創(chuàng)建容器時(shí)指定ip,如需獨(dú)立ip訪問則另外增加路由。
如
route -p add 172.18.12.0 MASK 255.255.255.0 10.0.75.2
如果刪除路由:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。