Docker使用自定義網橋_docker

摘要: 本文講的是Docker使用自定義網橋docker, Docker 服務默認會創(chuàng)建一個 docker0 網橋,它在內核層連通了其他的物理或虛擬網卡,這就將所有容器和本地主機都放到同一個物理網絡。 用戶也可以指定網橋來連接各個容器。


網橋和docker配置


1.配置Br0網橋

[chenxk@localhost ~]$ vim /etc/sysconfig/network-scripts/ifcfg-br0

DEVICE="br0"

ONBOOT="yes"

TYPE="Bridge"

BOOTPROTO=static

IPADDR=192.168.15.49

NETMASK=255.255.255.0

GATEWAY=192.168.15.1

DNS1=192.168.15.1

DEFROUTE=yes


2.設置物理網卡ifcfg-eno16777736;


DEVICE=ifcfg-eno16777736

HWADDR=00:0C:29:DB:B2:28

TYPE=Ethernet

UUID=b2268aab-fa2e-49e9-bd67-2572f29e5790

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

#IPADDR=192.168.15.49

#NETMASK=255.255.255.0

#GATEWAY=192.168.15.1

DNS1=192.168.15.1

BRIDGE=br0? --這個很重要


3.安裝bridge-utils工具包

yum? install bridge-utils

4.查看網橋信息

brctl show


5.設置docker服務啟動參數(shù)

這里要注意的是,不同的Linux操作系統(tǒng)docker的配置文件所在不同

centos 在/etc/sysconfig/docker

其他操作系統(tǒng)請前往下面的網址

https://docs.docker.com/installation/#installation

centos 6:

~#:vim /etc/sysconfig/docker #在OPTIONS='--selinux-enabled'這行中修改為OPTIONS='--selinux-enabled -b=br0'即讓docker服務啟動時使用br0網卡進行橋接

centos 7:

Configure Docker to use the new bridge by setting the option in the daemon.json file, which is located in /etc/docker/ on Linux or C:\ProgramData\docker\config\ on Windows Server. On Docker for Mac or Docker for Windows, click the Docker icon, choose Preferences, and go to Daemon.

If the daemon.json file does not exist, create it. Assuming there are no other settings in the file, it should have the following contents:

{

"bridge": "br0"

}

6.啟動docker服務

~#:service docker start

7.安裝pipework

~#:git clone https://github.com/jpetazzo/pipework

~#:cp ~/pipework/pipework /usr/local/bin/

8.啟動一個手動設置網絡的容器

這里最好不要讓docker自動獲取ip,下次啟動會有變化而且自動獲取的ip可能會和物理網段中的ip沖突

~#:docker run -itd --net=none --name=test centos7 /bin/bash

9.為test容器設置一個與橋接物理網絡同地址段的ip@網關

~#:pipework br0 test 192.168.184.11/24@192.168.184.2

10.進入容器查看ip

~#:docker attach test




PipeWork設置Docker網絡

由于要設置Docker 容器網絡地址,下面把自己的配置過程記錄以下,和大家一起分享。

首先,本次配置采用PipeWork 固定容器IP,需要用到上一篇講的Centos7網橋設置:http://blog.csdn.NET/wd_boy/article/details/60959431

好了,接下里講PipeWork的設置

1.下載PipeWoke

下載地址:https://github.com/jpetazzo/pipework.git

2.啟動兩個容器

docker run -itd --name test1 --net=none centos /bin/bash

docker run -itd --name test2 --net=none centos /bin/bash

3.設置容器IP

pipework br0 test2 192.168.15.244/24@192.168.15.1

pipework br0 test1 192.168.15.243/24@192.168.15.1

其中@后面的ip為Docker容器宿主機的網關

4.為了解決每次重啟宿主機都需要配置網橋和綁定容器ip,在rc.local中配置

vim /etc/rc.d/init.d/rc.local

具體內容:

service docker start;

docker start test1;

docker start test2;

pipework br0 test2 192.168.15.244/24@192.168.15.1;

pipework br0 test1 192.168.15.243/24@192.168.15.1;

當然要給rc.local可執(zhí)行權限: chmod +x rc.local

另外需要注意的是,在執(zhí)行rc.local的時候系統(tǒng)里面的path變量沒有初始化完成,所以需要用命令的完全路徑

如果不知道命令路徑位置,使用which,比如 which docker? 就會顯示docker所在的路徑

本文參考:http://blog.csdn.net/chinagissoft/article/details/51250839

http://blog.csdn.Net/chinagissoft/article/details/51251982

-------------------------------------------------------------------------------------------------------------------------

報錯處理:

在通過pipework 給docker容器分配IP的時候, 系統(tǒng)報出以下錯誤:

Object "netns" is unknown, try "ip help".

該錯誤是由于系統(tǒng)版本暫時不支持namespaces, 可通過更新內核或者iproute的方法獲取對namespaces的支持.更新方法如下:

添加yum源:

[cce]

cat /etc/yum.repos.d/rdo.repo

[openstack-kilo]

name=OpenStack Kilo Repository

baseurl=https://repos.fedorapeople.org/repos/openstack/EOL/openstack-icehouse/epel-6/

skip_if_unavailable=0

enabled=1

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-RDO-kilo

## 接下來更新iproute即可:

# yum update iproute -y

-------------------------------------------------------------------------------------------------------------

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 摘要: 本文講的是Docker使用自定義網橋docker,并且自定義容器的ip地址。 Docker 服務默認會創(chuàng)建...
    think_lonely閱讀 3,781評論 0 3
  • 五、Docker 端口映射 無論如何,這些 ip 是基于本地系統(tǒng)的并且容器的端口非本地主機是訪問不到的。此外,除了...
    R_X閱讀 1,961評論 0 7
  • 轉載自 http://blog.opskumu.com/docker.html 一、Docker 簡介 Docke...
    極客圈閱讀 10,755評論 0 120
  • 目標:在docker v1.12版本搭建swarm集群,熟悉其用法,驗證其功能。 環(huán)境: swarm-manage...
    威谷子閱讀 1,092評論 3 8
  • 《捉妖記》這樣的題材,又已經定位于娛樂片了,本該可以拍的喜聞樂見的,有會排山倒海的郭芙蓉站臺,我想,總不會差到哪里...
    過客閱讀 229評論 0 1

友情鏈接更多精彩內容