详解Centos7 下建立 Docker 桥接网络

前言

最近职业规划开始有了转变,在创业团队中一个人的角色不可能只有一个,说说我现在担任过的角色:配置管理,项目经理,售前技术支持,售后技术支持,测试,少许开发工作,产品策划;除了市场营销,其他杂七杂八的都干过了。最后我发现我最适合的职位也许是devops,这个岗位的工作内容请大家自行百度。

回正题,去年开始关注docker,直到今年看了坛子里的大神们对docker调研实践后,我决定也开始实践。就从改造公司研发和运维环境开始,这次的帖子主要是将自己构建docker桥接物理网络的过程讲述一遍,本来网上是有很多帖子的,但坑不少,为了让想研究docker的同好少走弯路,这才总结了一下。

为什么要让docker桥接物理网络?

docker默认提供了一个隔离的内网环境,启动时会建立一个docker0的虚拟网卡,每个容器都是连接到docker0网卡上的。而docker0的ip段为172.17.0.1,若想让容器与宿主机同一网段的其他机器访问,就必须在启动docker的时候将某个端口映射到宿主机的端口上才行,例如:docker run -itd -p 22 centos。这是我们所不能接受的,想想每个应用都要绞尽脑汁的去设置端口,因为不能重复,如果应用有多端口那更是不堪设想啊。所以为了让容器与宿主机同一个网段,我们需要建立自己的桥接网络。

centos7宿主机上建立Docker桥接物理网络过程

宿主机网卡信息:

name:ens0

IP:192.168.184.99

GATEWAY:192.168.184.2

DNS:192.168.184.2

1. 停止docker服务

~#:service docker stop

2.删除docker0网卡

~#:ip link set dev docker0 down
~#:brctl delbr docker0

3.新建桥接物理网络虚拟网卡br0

~#:brctl addbr br0
~#:ip link set dev br0 up
~#:ip addr add 192.168.184.100/24 dev br0 #为br0分配物理网络中的ip地址
~#:ip addr del 192.168.184.99/24 dev ens0 #将宿主机网卡的IP清空
~#:brctl addif br0 ens0 #将宿主机网卡挂到br0上
~#:ip route del default #删除原路由
~#:ip route add default via 192.168.184.2 dev br0 #为br0设置路由

4.设置docker服务启动参数

这里要注意的是,不同的linux操作系统docker的配置文件所在不同

centos 在/etc/sysconfig/docker

其他操作系统请前往下面的网址

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

~#:vim /etc/sysconfig/docker #在OPTIONS='--selinux-enabled'这行中修改为OPTIONS='--selinux-enabled -b=br0'即让docker服务启动时使用br0网卡进行桥接

5.启动docker服务

~#:service docker start

6.安装pipework

~#:git clone https://github.com/jpetazzo/pipework
~#:cp ~/pipework/pipework /usr/local/bin/

7.启动一个手动设置网络的容器

这里最好不要让docker自动获取ip,下次启动会有变化而且自动获取的ip可能会和物理网段中的ip冲突

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

8.为test容器设置一个与桥接物理网络同地址段的ip@网关

~#:pipework br0 test 192.168.184.11/24@192.168.184.2

9.进入容器查看ip

~#:docker attach test

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 虚拟机VirtualBox中centos6.5网络设置图文详解

    最近一些日子在学习有关于虚拟机VirtualBox,现在分享给大家参考一下. 一.虚拟机网络配置 默认只是设置了网卡1:方式NAT(对应ifcfg-eth0) 我们还可以设置网卡2,网卡3.可以在系统安装完成后设置. 网卡2设置回环网卡,实现虚拟机与宿主机组成局域网(对应ifcfg-eth1),这样即使没有路由器也可以组成局域网,可以进行ssh连接. 需要宿主机安装MicrosoftLoopbackAdapter.参加附录. 网卡3设置连接到互联网,并与宿主机组成局域网(对应ifcfg-eth2

  • vmware中CentOS7网络设置教程详解

    为了能够使用XShell来管理我们安装好的CentOS7系统,所以我们要先设置CentOS7的网络使其能够联网. 1.选择vmware的编辑,然后点击虚拟网络编辑器 2.点击更改设置(需要有管理员权限) 3.选择VMnet0为桥接模式,选择自动或者网卡 4.打开"网络和共享中心"选择"VMware Virtual Ethernet Adapter for VMnet8"网卡,右键选择属性,勾选VMware Bridge Protocol,同时设置ip为自动获取 5.

  • 详解虚拟机中CentOS 7 网络和ssh的配置

    一.centos7 的网络配置: 1.修改主机名: echo "hostname tshare365.localdomain" >>/etc/sysconfig/network 然后: reboot 即可生效! 2.查看MAC地址: ip addr 3.修改网络配置: (1)找到需要的网络配置参数: 打开虚拟机网络设置,具体步骤如下: 出现如下界面: 从上面的步骤我们得到了如下信息: IP地址:192.168.222.128到192.168.222.254之间的一个,例如1

  • Vmware+Centos7搭建Openstack环境(网络配置)

    Vmware12+Centos7搭建Openstack环境-网络配置 一.虚拟机配置 根据OpenStack官方的教程,节点的环境中比较重要的就是网络的配置,首先先在虚拟机中进行设置,选择编辑中的虚拟网络编辑器 按照官方给的配置需求 主要配置两个网卡接口 interface1 网关10.0.0.1 nat模式 interface2 选择虚拟网络编辑器中的VMnet8,nat设置如下 这里网关没有选择10.0.0.2,原因是之前查资料查到在虚拟机中,10.0.0.1的地址被当前主机使用,所以网关应

  • CentOS 7 在vmware中的网络设置详细介绍

    CentOS 7 在vmware中的网络设置 前言:由于工作中需要使用Linux,在虚拟机中装了CentOS7,以作实验之用,安装后使用过程中出现不少问题,主要是网络问题,安装后出现下列几种状况: (1)宿主机网络正常,在虚拟机的centos中无法访问外网. (2)宿主机可以ping通,且可以使用SSH连接,但无法telnet虚拟机centos的端口. (3)centos 固定IP问题 (4)防火墙设置问题 经过查阅相关资料及实践,才把网络问题解决,在此记录一下. 一.环境说明 vmware w

  • VMware虚拟机CentOS系统网络设置

    1 VMware网卡 VMware默认情况下会安装三个网卡,如下图示(点击最上方编辑-->虚拟网络编辑器). VMnet0:"桥接网络" VMnet1:"仅主机虚拟网络" VMnet8:"NAT网络" 其中VMnet0为主机物理网卡,其余为虚拟网卡.而实际上VMware共支持支持VMnet0-VMnet9共10块(虚拟)网卡,对于每一块虚拟网卡来说,同一时刻只能选择以上任一种网络属性,其中可以有多块虚拟网卡具有"仅主机网络&quo

  • CentOS 7 网络配置详解

    今天在一台PC上安装了CentOS 7,当时选择了最小安装模式,安装完成后马上用ifconfig查看本机的ip地址(局域网已经有DHCP),发现报错,提示ifconfig命令没找到. [root@centos1 ~]# ifconfig -bash: ifconfig: command not found 首先,习惯性的输入echo $PATH(查看当前PATH环境变量,跟DOS的path命令一样的功能,注意Linux系统中的命令是区分大小写的),显示结果如下: [root@centos1 ~]

  • virtualbox虚拟机上安装centOS的网络配置详解

    最近接触hadoop,需要在在Linux上面开发,所以我装了一个virtualbox虚拟机,在该虚拟机上面安装了一个centOS系统.linux系统是装好了,但是网络配置却另人头疼.我主要是想让宿主机和虚拟机能够互相访问. 然后我就百度了一下,根据百度的结果一步一步的配置. 安装virtualbox之后它会在宿主机上面安装一个虚拟网卡,如图 双击它,查看详情,信息如图所示 在虚拟机上面配置网络我使用的是host-only方式,当然也可以使用桥接的方式,至于他们的区别,网上很多.虚拟机上面主要是使

  • VirtualBox下Centos6.8网络配置教程

    win10环境下,VirtualBox和Centos6.8已经按照完毕,下面配置Centos6.8网络. 1.设置VirtualBox为桥接模式,具体的有三种联网方法,我们参考http://www.cnblogs.com/jasmine-Jobs/p/5928218.html 2.桥接模式使得宿主机和虚拟机在同一个网段内工作,ipconfig查看宿主机的ip,子网掩码,网关,我的宿主机连接的是无线网. 3.ifconfig 查看虚拟的的IP地址 4.修改网络配置 把ip地址设置为静态地址,子网掩

  • Centos7 网络配置详细介绍

    Centos7 网路配置详细介绍 1.查看当前网卡信息 [root@localhost ~]# nmcli connection show NAME UUID TYPE DEVICE enp0s3 5d58d8cc-8caf-458b-a672-ed0cdf58292e 802-3-ethernet --- CentOS7中对网上的命名规则有所变更,具体规则如下: eno1 :代表由主板 BIOS 內建的网卡 ens1 :代表由主板 BIOS 內建的 PCI-E 界面的网卡 enp2s0 :代表

随机推荐