- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章详解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服务 。
1
|
~
#:service docker stop
|
2.删除docker0网卡 。
1
2
|
~
#:ip link set dev docker0 down
~
#:brctl delbr docker0
|
3.新建桥接物理网络虚拟网卡br0 。
1
2
3
4
5
6
7
|
~
#: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服务 。
1
|
~
#:service docker start
|
6.安装pipework 。
1
2
|
~
#:git clone https://github.com/jpetazzo/pipework
~
#:cp ~/pipework/pipework /usr/local/bin/
|
7.启动一个手动设置网络的容器 。
这里最好不要让docker自动获取ip,下次启动会有变化而且自动获取的ip可能会和物理网段中的ip冲突 。
1
|
~
#:docker run -itd --net=none --name=test centos7 /bin/bash
|
8.为test容器设置一个与桥接物理网络同地址段的ip@网关 。
1
|
~
#:pipework br0 test 192.168.184.11/24@192.168.184.2
|
9.进入容器查看ip 。
1
|
~
#:docker attach test
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.
原文链接:http://blog.163.com/hk_bs/blog/static/245038011201631931849968/ 。
最后此篇关于详解Centos7 下建立 Docker 桥接网络的文章就讲到这里了,如果你想了解更多关于详解Centos7 下建立 Docker 桥接网络的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我有一个在 Silverlight 中开发的应用程序,它必须连接到另一个我无法控制的遗留应用程序,它需要 3005 端口上的 TCP 连接。 我无法修改旧版应用程序以将端口置于 silverlight
我主要使用 Git 工作,并且在 github 上有很多代码。我也想把它放在 Bitbucket 上,供使用 mercurial 的人使用,但更重要的是,因为我也想在我的 domian 上拥有代码,而
有一个emacs插件可以在emacs中直接编辑confluence页面: http://code.google.com/p/confluence-el/ VIM 有类似的东西吗?我无法找到一些东西。
我已在项目中添加了桥接 header ,但随后我也收到“ProjectName\ProjectName - Bridging-Header.h”文件不存在的错误。 最佳答案 在build设置中,为桥接
我有带 libvirt/kvm 虚拟化的 Linux 主机,虚拟机需要“真实的”静态 IP 地址,所以我决定设置桥接网络。我在主机和虚拟机属性中创建了 br0,我设置了源设备:主机设备 vnet0(B
我正在尝试实现以下模型:我有一个包含一些记录(就像可编辑枚举)的字典表(ProductOffer 表)。另外,我有一个主表 (ChangeNet),它应该存储 ProductOffer 的集合。字典不
我有一个理论,但我不知道如何验证它。我们有一个相当大的 iOS 项目,包含大约 200 个 Swift 文件和 240 个 obj-C 文件(以及等量的头文件)。我们仍在使用 Swift 1.2,这意
简而言之,我正在开发一个嵌入式系统,除其他外,它需要一个从 USB 主机端口到设备端口的桥(这只是第一步,稍后传输的信息将被过滤和更改) . 考虑到这基本上是一个 USB 窥探器/嗅探器,我认为应该有
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码): https://github.com/zq2599/blog_demos 关于《Strimzi K
网上搜出来的比较乱,讲的不明不白,因此根据自己弄过一次,确认可行的方式,做个备份,方便日后查阅。 环境: 在oracle vm virtualbox中安装的ubuntu,具体版本名是:ubunt
Symfony 的 bundle、vendor 和 bridge 是什么意思? 最佳答案 小贩 一般来说,vendor是项目的依赖项(又名第三方库)。在 Symfony2 中也是同样的意思。 捆 来自
我正在尝试发布发送到 NSB 主机的 WCF 服务。我查看了 NSB 示例中的 WebServiceBridge 示例,但无法弄清楚如何在 WCF 对应项中使用 NServiceBus.WcfServ
我目前正在尝试将 Google Cloud Messaging 库实现到我的 IOS 应用程序中。我按照说明 from here. 进行操作 但是我遇到了桥接头问题。 This is how my p
我正在快速构建一个 Firebase 应用程序,我正确安装了 cocoa pod,然后创建了一个 Objective-C 文件,这样它就可以使我成为一个桥接 header 。当我尝试在应用程序的其他地
我添加到我的项目桥接头文件中,这样我就可以在 swift 中使用 opencv。我决定我不需要 opencv 所以我删除了桥接头文件,在我这样做之后我无法运行我的项目因为这个错误: :0: 错误:打开
我正在使用 Xcode 8.0,我已经手动创建了 Swift Bridging Header。但是我在 Swift Compiler – Code Generation 下找不到选项 Ojective
我有一个 iphone 应用程序,可以通过以 packages 的形式下载额外的内容来丰富它。 此附加内容(包)是使用 MAC OS 应用程序构建的。 MAC OS 应用程序用于收集资源和艺术品、进行
virtualbox中有四种网络连接方式: nat bridged adapter internal host-only adapter vmware中有三种,其实它跟
网上搜出来的比较乱,讲的不明不白,因此根据自己弄过一次,确认可行的方式,做个备份,方便日后查阅。 环境: 在oracle vm virtualbox中安装的ubuntu,具体版本名是:ubuntu
我正在使用 PHP/Java 桥接您可以找到的获取资本 API here .但是在使用 PHP/Java bridge 连接后(它连接正确并且我测试过),我正在尝试通过为此创建一个对象来使用 API,
我是一名优秀的程序员,十分优秀!