Docker虛擬化技術系列之-網絡配置

當我們把docker部署好,是不是想docker能聯網呢,能跟其他服務器或者應用進行交互訪問呢,那麼今天我們來給Docker配置獨立的IP及容器之間的互聯;

內置bridge(nat)

缺點:

需要配套服務註冊/發現,否則宿主上端口分配困難,容易衝突。

由於每個容器暴露的端口都不一致,造成前端路由層nginx配置(proxy_pass)裏無法使用dns的方式。

端口映射要在容器啓動時就指定好,後期無法變更。

測試發現nat不支持websocket。

自建橋接網絡

優點:

每個容器都有獨立ip,對外提供服務,如nginx+php,nginx+resin,都可以使用默認的80端口

由於容器暴露端口都可以使用80端口,因此前端路由層nginx配置(proxy_pass)裏可以使用dns的方式。

無需爲了後期端口映射添加而煩惱

橋接支持websocket

當我們把docker鏡像下載下來之後,啓動一個容器,登錄容器我們會發現容器的ip如下圖所示:

停止服務

 /etc/init.d/docker stop

關掉docker0

ifconfig docker0 down

 刪除docker

 brctl  delbr  docker0

 增加網橋br0

  yum install bridge-utils

  CentOS6.5下的配置:

   vim  /etc/sysconfig/docker

other_args="-b=br0"

如下圖:

wKioL1ir4ZqSPeinAABonxTwM8w152.png-wh_50

  配置bridge橋接網絡:

  在/etc/sysconfig/network-scripts/下,修改ifcfg-eth0網卡配置,同時增加ifcfg-br0橋接網卡配置如下:

  vi  ifcfg-eth0內容如下:

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=static
BRIDGE=br0

vi  ifcfg-br0內容如下:

DEVICE="br0"
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp
TYPE=Bridge

wKioL1ir4crBief9AABKa7IghAc630.png-wh_50

 啓動docker服務:/etc/init.d/docker start

查看服務器網卡信息如下:

wKiom1ir4eLRTzZgAACqbTj--DM151.png-wh_50

 啓動一個新的docker客戶端,查看客戶端ip如下:

進入已經啓動過的容器命令:docker attach  容器ID 即可。

wKioL1ir4k2jIRSVAABOfuFOESw012.png-wh_50

從外網下載nginx包:

wKiom1ir4lvRlGbMAABNBjrjdI8599.png-wh_50

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章