文档章节

Docker Centos7 下建立 Docker 桥接网络

舒运
 舒运
发布于 2017/06/13 14:05
字数 823
阅读 27
收藏 0
点赞 0
评论 0

前言

  • 最近职业规划开始有了转变,在创业团队中一个人的角色不可能只有一个,说说我现在担任过的角色:配置管理,项目经理,售前技术支持,售后技术支持,测试,少许开发工作,产品策划;除了市场营销,其他杂七杂八的都干过了。最后我发现我最适合的职位也许是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

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

~#:pipework br0 test 192.168.184.11/24@192.168.184.2

10.进入容器查看ip

~#:docker attach test

© 著作权归作者所有

共有 人打赏支持
舒运
粉丝 7
博文 213
码字总数 510016
作品 0
深圳
docker启动和网络问题

最近在研究docker,出现一些问题。求大神指点 系统版本CentOS7 docker版本:docker1.5 问题:以进程方式(-d)启动一个docker容器。启动时一直不能再后台运行,docker网络桥接的docker0,在启...

刀客达人 ⋅ 2015/04/27 ⋅ 1

docker+open vswitch多宿主间容器互连构建tomcat服务

1、本文介绍centos7下的docker容器互联及端口映射问题 环境介绍: docker1:192.168.1.230 docker2:192.168.1.231 a.两台宿主分别更改主机名docker1 and docker2 # hostnamectl set-hostname ...

Anonymous123 ⋅ 2016/04/22 ⋅ 0

docker网络管理与本地私有Registry创建部署

概述 上一篇博客大致描述了docker的原理与传统虚拟机的使用,以及docker基本使用,本文主要描述docker的网络管理及重点介绍docker本地(内部)registry仓库的搭建及私有registry,用来统一保存...

dyc2005 ⋅ 04/21 ⋅ 0

全面理解Docker虚拟化的14个技巧

服务器虚拟化指的是在操作系统与硬件之间加一层,叫做hypervisor层,对下控制硬件,对上承载操作系统,操作系统os以文件形式封装运行,称为虚拟机,主要解决的问题是硬件利用率和灵活性的问题...

让往事随风 ⋅ 2016/04/18 ⋅ 0

centos7系统下 docker 环境搭建

运行环境: VMware Workstation Pro 在虚拟机中安装centos7系统, 选择最小安装, 网络连接方式选择的桥接(与宿主机在同一IP段) centos7一定要安装64位, docker目前不支持32位内核 ##看准了, 是...

qq_33326449 ⋅ 03/20 ⋅ 0

docker 基本操作Ⅲ

1 数据卷备份恢复 - 我们一般用的最多的是把容器和本地宿主机做目录映射直接存在本地,但是还有一种就是数据卷的备份与恢复,如下就来介绍: 先来一副图来了解一下数据卷的恢复与备份 宿主机...

我不是瘦子 ⋅ 2017/11/16 ⋅ 0

VirtualBox 初次安装centos7 虚拟机的注意事项

最近一直在研究docker集群,正好看到swarm,于是打算使用virtualbox 构建一个本地的虚拟机集群来学习swarm的一些操作。由于之前在virtualbox上面只搭建了一台各个功能都完备的centos虚拟机,...

Allocator ⋅ 2017/05/12 ⋅ 0

docker的网络管理(1)

Docker 中的网络功能介绍 默认情况下,容器可以建立到外部网络的连接,但是外部网络无法连接到容器。 Docker 允许通过外部访问容器或容器互联的方式来提供网络服务 外部访问容器: 容器中可以...

余梦似海 ⋅ 2017/04/22 ⋅ 0

docker网络设置

host模式,使用docker run时使用--net=host指定 (有弊端会和宿主机冲突) docker使用的网络实际上和宿主机一样,在容器内看到的网卡ip是宿主机上的ip 例子: docker run -it --rm --net=ho...

huningfei ⋅ 2017/03/12 ⋅ 0

小白docker入门之Kubernetes的网络知识

目录 docker的网络通信 kubernetes的网络通信 总结 kubernetes集群搭建完成后,使用docker ps命令,可以看到正在跑的容器,其中一个容器名字叫flannel。这个flannel是一个开源的网络组件,了...

OrangeLoveMilan ⋅ 2017/12/29 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JavaScript零基础入门——(八)JavaScript的数组

JavaScript零基础入门——(八)JavaScript的数组 欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一...

JandenMa ⋅ 今天 ⋅ 0

sbt网络问题解决方案

转自:http://dblab.xmu.edu.cn/blog/maven-network-problem/ cd ~/.sbt/launchers/0.13.9unzip -q ./sbt-launch.jar 修改 vi sbt/sbt.boot.properties 增加一个oschina库地址: [reposit......

狐狸老侠 ⋅ 今天 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 今天 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 今天 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

马氏距离与欧氏距离

马氏距离 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量之间的差异程度。 如果协方差矩阵为单位矩阵,那么马氏距离就简化为欧氏距离,如果协方差矩阵为对角阵,则其也...

漫步当下 ⋅ 昨天 ⋅ 0

聊聊spring cloud的RequestRateLimiterGatewayFilter

序 本文主要研究一下spring cloud的RequestRateLimiterGatewayFilter GatewayAutoConfiguration @Configuration@ConditionalOnProperty(name = "spring.cloud.gateway.enabled", matchIfMi......

go4it ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部