使用端口映射(NAT)的方式存在一個弊端,當(dāng)多個容器都需要使用某個端口時或者host主機端口與容器端口沖突時(例如,host主機搭建了80的服務(wù),兩個容器也都搭建了80的服務(wù),那個只有1個服務(wù)可以使用本機的80端口,其他服務(wù)都要映射為其他端口)
為容器配置獨立的橋接IP就完美的解決了這個問題。以下為配置步驟:
1、可以查看默認的docker0網(wǎng)卡的IP:

可以看到,是一個虛擬的IP地址172.17.42.1。
接下來開始配置,首先停止docker服務(wù):
/etc/init.d/docker stop
接著停止docker0網(wǎng)卡:
ifconfig docker0 down
刪除默認的橋接網(wǎng)絡(luò)docker0:
brctl delbr docker0
創(chuàng)建橋接網(wǎng)卡,修改默認的eth0的配置文件:
cd /etc/sysconfig/network-scripts/修改默認ifcfg-eth0配置文件:

創(chuàng)建一個新的文件ifcfg-br0并編輯:
DEVICE=br0ONBOOT=yesNM_CONTROLLED=noBOOTPROTO=staticTYPE=BridgeIPADDR=10.0.0.36NETMASK=255.255.255.224GATEWAY=10.0.0.33
上面高亮的3行要根據(jù)本機的虛擬網(wǎng)卡信息填寫,我本機的信息:


完成后,保存退出,并重啟網(wǎng)絡(luò)服務(wù)(service network restart)。
可以看到橋接網(wǎng)絡(luò)已經(jīng)啟動了:
修改docker的配置文件/etc/sysconfig/docker,添加橋接網(wǎng)卡參數(shù):

修改完成后重啟docker服務(wù):
service restart docker
接著我們啟動一個容器:
docker run --name centostest centos:latest /bin/bash
容器啟動后可以看到對應(yīng)的網(wǎng)卡:

至此,就已經(jīng)配置好橋接網(wǎng)絡(luò)了
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
新聞熱點
疑難解答
圖片精選