为了使本地网络中的机器和Docker容器更方便的通信,我们经常会有将Docker容器配置到和主机同一网段的需求。这个需求其实很容易实现,我们只要将Docker容器和宿主机的网卡桥接起来,再给Docker容器配上IP就可以了。

Centos 6按照下面的方法操作(6与7的操作有所不同)

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
[root@localhost ~]# cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]# ls ifcfg-eth0 ifdown-ib ifdown-ppp ifup-aliases ifup-ipv6 ifup-ppp init.ipv6-global ifcfg-lo ifdown-ippp ifdown-routes ifup-bnep ifup-isdn ifup-routes net.hotplug ifdown ifdown-ipv6 ifdown-sit ifup-eth ifup-plip ifup-sit network-functions ifdown-bnep ifdown-isdn ifdown-tunnel ifup-ib ifup-plusb ifup-tunnel network-functions-ipv6 ifdown-eth ifdown-post ifup ifup-ippp ifup-post ifup-wireless [root@localhost network-scripts]# cp ifcfg-eth0 ifcfg-br0
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    [root@localhost network-scripts]# vi ifcfg-eth0 DEVICE=eth0 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.1.179 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=114.114.114.114 DNS2=8.8.4.4

    增加BRIDGE=br0,删除IPADDR、NETMASK、GATEWAY、DNS

      
      
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    DEVICE=eth0 HWADDR=00:0C:29:DB:B2:28 TYPE=Ethernet UUID=b2268aab-fa2e-49e9-bd67-2572f29e5790 ONBOOT=yes BRIDGE=br0 BOOTPROTO=none #IPADDR=192.168.1.179 #NETMASK=255.255.255.0 #GATEWAY=192.168.1.1 #DNS1=114.114.114.114 #DNS2=8.8.4.4

    保存退出

    # vi ifcfg-br0
    DEVICE=eth0
    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.1.179
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=114.114.114.114
    DNS2=8.8.4.4

    修改DEVICE为br0,Type为Bridge,把eth0的网络设置设置到这里来

      
      
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    DEVICE=br0 TYPE=Bridge ONBOOT=yes BOOTPROTO=static IPADDR=192.168.1.179 NETMASK=255.255.255.0 GATEWAY=1.1 DNS1=114.114.114.114 DNS2=8.8.4.4

    保存退出

      
      
  • 1
    • 1
    [root@localhost network-scripts]# service network restart

    这一步我出现了问题,不过重启宿主机后就OK了。

      
      
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    [root@localhost ~]# ifconfig br0 Link encap:Ethernet HWaddr 00:0C:29:DB:B2:28 inet addr:1.179 Bcast1.255 Mask255.0 inet6 addr: fe80:20c:ff:fedb:b228/64 Scope:Link UP broADCAST RUNNING MULTICAST MTU1500 Metric1 RX packets:137 errors:0 dropped:overruns:frame:0 TX 93 carrier:0 collisions:txqueuelen:0 RX bytes:13745 (13.4 KiB) TX 11095 (10.8 KiB) docker0 Link encap:Ethernet HWaddr C60170:AF:C6:E4 inet 172.17.42.1 Bcast0.0 Mask0 inet6 :c401feaf:c6e4/6 0 (0 b) TX 468 (468.0 b) eth0 Link 28 inet6 101 1000 RX 15663 (15.2 KiB) TX 11959 (11.6 KiB) lo Link encap:Local Loopback inet 127.0.1 Mask255.0.:1/128 Scope:Host UP LOOPBACK RUNNING MTU65536 Metric16 960 (960.0 b) TX 960.0 b)
      
      
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    [root# git -bash: git: command not found [root# yum install -y git [root# cd /etc/sysconfig/network-scripts/ [root# git clone https://github.com/jpetazzo/pipework

    pipework是由Docker的工程师Jérôme Petazzoni开发的一个Docker网络配置工具

      
      
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    [root# ls ifcfg-br0 ifdown-eth ifdown-post ifup ifup-ippp ifup-post ifup-wireless pipework ifcfg-eth0 ifdown-ib ifdown-ppp ifup-aliases ifup-ipv6 ifup-ppp init.ipv6-global ifcfg-lo ifdown-ippp ifdown-routes ifup-bnep ifup-isdn ifup-routes net.hotplug ifdown ifdown-ipv6 ifdown-sit ifup-eth ifup-plip ifup-sit network-functions ifdown-bnep ifdown-isdn ifdown-tunnel ifup-ib ifup-plusb ifup-tunnel network-functions-ipv6 [root# cp pipework/pipework /usr/local/bin/ [root# cd [root# docker run -itd --net=none --name docker_bridge centos_with_httpd:genesis bash 5417847d3edf9381acf4bcc94c5345002521f4500415d835f081b022f6d48723 [root# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5417847d3edf centos_with_httpd:genesis "bash" 8 seconds ago Up 6 seconds docker_bridge [root# docker exec -it docker_bridge bash [root@5417847d3edf /]# ifconfig lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 1 netmask 0 inet6 1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 0 (Local Loopback) RX packets 0 bytes 0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 B) TX errors 0 overruns 0 carrier 0 collisions 0 [root# exit
    # rpm -Uvh https://repos.fedorapeople.org/openstack/EOL/openstack-grizzly/epel-6/iproute-2.6.32-130.el6ost.netns.2.x86_64.rpm

    不升级会报错Object “netns” is unkNown,try “ip help”

      
      
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    [root# pipework br0 docker_bridge 192.168.1.187/24 [rooteth1: flags=4163<UP,broADCAST,RUNNING,MULTICAST> mtu 1500 inet 1.187 netmask 255.0 broadcast 1.255 inet6 :bcf29cff:fe1e:4796 prefixlen 64 scopeid 0x20<link> ether be:f2:1e:4796 txqueuelen 1000 (Ethernet) RX packets 7 bytes 528 (528.0 B) RX errors 510 (510.0 B) TX errors 0 0

    ping一下网关

    [root@5417847d3edf /]# ping 192.168.1.1
    PING 192.168.1.1 (.1) 56(84) bytes of data.
    64 bytes from .1: icmp_seq=1 ttl=64 time=63.1 ms
    2 ttl=2.12 ms
    ^C
    --- 192.168.1.1 ping statistics ---
    2 packets transmitted,2 received,102); Box-sizing: border-Box;">0% packet loss,time 1001ms
    rtt min/avg/max/mdev = 2.125/32.637/63.150/30.513 ms
    转自: http://www.jb51.cc/article/p-djlddazl-bew.html

    Centos 6 Docker配置桥接网络的更多相关文章

    1. macos – 运行brew命令充满了’同意Xcode / iOS许可证需要管理员权限,请通过sudo以root身份重新运行.’

      所以我跑了:如果滚动到底部,可以输入“同意”,然后就可以了.

    2. ios – 仅适用于iPad的Settings.bundle?

      我有一种情况需要通过设置应用程序为我的应用程序提供一个设置.我的应用程序是通用的,但这个特殊的设置只在iPad上有意义,所以我只希望我的应用程序显示在iPad上的设置中.这可能吗?

    3. ios – Swift 4设置捆绑,获取默认值

      我创建了一个包含大约8个切换开关的设置包.我想要做的是从设置包中获取默认值.目前我现在有这两种方法:我在viewDidLoad中调用这些方法然而,这并没有得到我的默认值.如果我关闭应用程序,打开设置,调整设置并重新打开应用程序,这会产生正确的值.有没有获得默认设置?

    4. Swift调用OC和C

      Swift文件:main.swiftOC文件:Root.hRoot.mC函数文件:Fun.c桥接文件:工程名称-Bridging-Header.h

    5. OC调用Swift

      修改main.m文件OC文件:Root.hRoot.mSwift文件:Person.swift

    6. swift 跳到系统设置界面

      首先需要设置一下:跳转到系统的设置页主页,在iOS8.0的时候,Apple出了这么个玩意UIApplicationopenSettingsURLString,可以跳转到系统设置主页参考:http://www.jianshu.com/p/580d84dda738http://www.jianshu.com/p/8e354e684e8a

    7. Swift 后端开发

      作为一门新兴的现代化语言,Swift可以说是苹果在开发语言上的一次集大成之作,吸收了很多语言的优点。而且苹果还期望Swift能在服务端开发上能发挥作用。Perfect框架Perfect框架是Swift开发的Web应用服务器,它支持包括Redis、sqlite、Postgresql、MysqL、MongoDB、FileMaker这样的数据库,并且能以fastcgi或者Web服务器的形式提供服务。具体内容得到Swift源代码中可以找到。

    8. Swift构建总是在Docker中构建整个包

      使用像这样的Dockerfile时:当第3步运行时,swiftbuild将只编译应用程序一次,因为第二次执行将只使用已构建的对象,输出将是单个CompileSwiftModule’foo'然而,在运行第4步时,它似乎忽略了已经构建的任何东西,并重新重建整个事物,尽管没有任何改变且没有干净.我试过运行RUNls/foo/.build&&ls/tmp,一切似乎都到位了.我想要在现实中实现的是设置我的图像所以我首先从git克隆项目,构建它,然后copY在本地机器的任何变化中构建新的更新,但最终建立整个项目2次.

    9. android – 以编程方式捕获网络流量(无根)

      我正在尝试查找资源或库,这些资源或库可以允许我以编程方式捕获设备的所有网络数据包的流量,无论是来自wifi还是移动网络.我相信没有必要成为sharkforroot会请求这种混杂模式的root用户,因为Play商店有thisapp可以捕获所有网络流量而不需要root.我根本无法弄清楚如何做同样的事情.我的问题是:这个应用程序是如何实现此捕获的?

    10. 如何在Android中附加XML中的标签?

      我想将一些内容写入XML文件.为此我创建了一个XML文件和带有元素,属性和值的写标签,其中包含以下数据:如果我想添加一个带有新元素,新属性等的新标签,我会在之前使用标签修改标签的位置输入元素.如何将新标签附加到先前附加的标签?解决方法看一下thislink.它应该让您了解如何向XML添加节点.这是一个片段.

    随机推荐

    1. 在airgapped(离线)CentOS 6系统上安装yum软件包

      我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

    2. centos – 命名在日志旋转后停止记录到rsyslog

      CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

    3. centos – 显示错误的磁盘大小

      对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

    4. 如何在centos 6.9上安装docker-ce 17?

      我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

    5. centos – 闲置工作站的异常负载平均值

      我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

    6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

      我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

    7. centos – 大量ssh登录尝试

      22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

    8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

      >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

    9. centos – Azure将VM从A2 / 3调整为DS2 v2

      我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

    10. centos – 广泛使用RAM时服务器计算速度减慢

      我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

    返回
    顶部