使用路由機(jī)制打通網(wǎng)絡(luò)
1,請(qǐng)看網(wǎng)絡(luò)簡(jiǎn)圖
Paste_Image.png
2,因?yàn)閐ocker默認(rèn)網(wǎng)卡docker0啟動(dòng)在默認(rèn)的內(nèi)部ip為172.17.42網(wǎng)段,所以需要修改一下其中一臺(tái)宿主機(jī)(100.73.18.108)的默認(rèn)網(wǎng)絡(luò)。
vim /etc/sysconfig/docker-network
#修改docker啟動(dòng)參數(shù)(centos7下)
DOCKER_NETWORK_OPTIONS="--bip=172.18.42.1/16"
#在DOCKER_NETWORK_OPTIONS=后添加上面參數(shù)
service docker stop
#關(guān)掉docker服務(wù)
reboot
#重啟宿主機(jī)
3,等待宿主機(jī)重啟完成后,啟動(dòng)docker服務(wù)。
service docker start
#啟動(dòng)docker
ifconfig
#可以查看到docker0網(wǎng)卡的地址已經(jīng)被修改為 172.18.42.1
4,在兩臺(tái)宿主機(jī)上面分別創(chuàng)建容器,選用 ubutnu鏡像。
docker run -d 3f755ca42730 ping 127.0.0.1
#后臺(tái)啟動(dòng)容器
docker exec -it c4ce70de9fa2 /bin/bash
#exec方式進(jìn)入容器內(nèi)部
ifconfig
#在容器內(nèi)查看網(wǎng)絡(luò)ip地址,并測(cè)試能否ping通,結(jié)果是無(wú)法ping通
5,在兩臺(tái)宿主機(jī)上添加路由規(guī)則
route add -net 172.17.0.0/16 gw 100.73.18.106
#在100.73.18.108上面添加
route add -net 172.18.0.0/16 gw 100.73.18.108
#在100.73.18.106上面添加
6,在宿主機(jī)100.73.18.106的容器(172.17.0.1)ping 宿主機(jī)100.73.18.108的容器(172.18.0.1),發(fā)現(xiàn)可以連通,反之,同樣可以。
Paste_Image.png
7,此方案的優(yōu)點(diǎn)是配置簡(jiǎn)單,性能還可以,缺點(diǎn)是與宿主機(jī)現(xiàn)有網(wǎng)絡(luò)混淆在一起,失去了靈活性。