文档章节

桥接模式构建 docker 网络

智深
 智深
发布于 2014/07/23 07:31
字数 312
阅读 3298
收藏 7
# 主机环境 ubuntu server 14.04,虚拟机
# eth1:192.168.56.101
# eth2: 192.168.58.101
# 192.168.56.0/24     管理网络
# 192.168.58.0/24     数据网络,容器使用的网络

# 切换到 root 用户执行以下命令


1、配置 Linux Bridge

     brctl addbr br100
     
     ip addr add 192.168.58.110/24 dev br100     # 给桥设置一个 IP,这样主机可以直接访问容器

     ip link set dev br100 up

2、配置 Docker 守护进程

     echo 'DOCKER_OPTS="-b=br100"' >> /etc/default/docker
     
     sudo service docker start

3、启动容器,设置网络模式为 none,自己配置容器网络

     sudo docker run -it --net=none ubuntu:14.04 /bin/bash

4、查看容器进程 id

     docker inspect -f '{{.State.Pid}}’ CONTAINER_ID

     pid=xxx

5、创建 namespaces 的目录

     mkdir -p /var/run/netns

     ln -s /proc/$pid/ns/net /var/run/netns/$pid

6、创建 veth 设备,分配给容器,绑定到桥

     ip link add vetha type veth peer name vethb
     
     brctl addif br100 vethb
     
     ip link set vethb up

     ip link set vetha netns $pid

     ip netns exec $pid ip link set dev vetha name eth0

     ip netns exec $pid ip link set eth0 up

     ip netns exec $pid ip addr add 192.168.58.121/24 dev eth0

     ip netns exec $pid ip route add default via 192.168.58.110

7、绑定 eth2 到 桥

     brctl addif br100 eth2

     ip addr del 192.168.58.101/24 dev eth2     # 删除 eth2 的 IP

     ip addr add 192.168.58.101/24 dev br100    # 把 eth2 的 IP 加到 桥中

Complete!!! 

© 著作权归作者所有

智深
粉丝 91
博文 65
码字总数 42744
作品 0
朝阳
程序员
私信 提问
VirtualBox 初次安装centos7 虚拟机的注意事项

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

Allocator
2017/05/12
0
0
docker学习笔记(四):docker网络模式及桥接配置

1、docker网络模式:有如下五种: host模式(--net=host) container模式 none模式(--net=none) bridge模式(--net=bridge) host模式: 需要使用docker run是指定: --net=host 使用的网络实际上...

芬野de博客
03/17
27
0
非常详细的docker学习笔记

本文转自 http://blog.csdn.net/zjin_hua/article/details/52041757#comments 一、Docker 简介 Docker 两个主要部件: Docker: 开源的容器虚拟化平台 Docker Hub: 用于分享、管理 Docker 容器...

高蛋白小虫
2017/09/01
0
0
Docker容器学习梳理--基础知识(2)

之前已经总结了Docker容器学习梳理--基础知识(1),但是不够详细,下面再完整补充下Docker学习的一些基础。 Docker是个什么东西 Docker是一个程序运行、测试、交付的开放平台,Docker被设计...

dengaosky
2017/12/27
0
0
Linux的企业-docker简介及操作

一.Docker docker 是一个应用容器引擎,让开发者可以打包安装他们的应用,以及依赖包到一个可移植容器中去,然后发布到任何Linux容器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间...

一百个小排
2017/10/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

RxJava进行单元测试的方式

@Test public void completeTask_retrievedTaskIsComplete() { // Given a new task in the persistent repository final Task newTask = new Task(TITLE, ""); ......

SuShine
20分钟前
3
0
正则表达式大全

检验手机号码 # 要求:手机号码必须为11位数字,以1开头,第二位为1或5或8。import redef verify_mobile(): mob = input("请输入手机号码:") ret = re.match(r"1[358]\d{9}", m......

彩色泡泡糖
24分钟前
5
0
QT之border-image属性

一、border-image的兼容性 border-image可以说是CSS3中的一员大将,将来一定会大放光彩,其应用潜力真的是非常的惊人。可惜目前支持的浏览器有限,仅Firefox3.5,chrome浏览器,Safari3+支持...

shzwork
24分钟前
6
0
Kubernetes Operator简易教程

1. 安装operator-sdk //安装 operator-sdk$ apt-get install operator-sdk.....$ operator-sdk versionoperator-sdk version: v0.7.0$ go versiongo version go1.11.4 darwin/amd64 2......

Robotcl_Blog
24分钟前
5
0
再谈DAG任务分解和Shuffle RDD

1、DagScheduler分析 DagScheduler功能主要是负责RDD的各个stage的分解和任务提交。Stage分解是从触发任务调度过程的finalStage开始倒推寻找父stage,如果父stage没有提交任务则循环提交缺失...

守望者之父
30分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部