• 博客访问: 4041852
  • 博文数量: 1621
  • 博客积分: 18684
  • 博客等级: 上将
  • 技术积分: 14247
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-02 10:28
  • 认证徽章:
文章分类

全部博文(1621)

文章存档

2017年(39)

2016年(47)

2015年(15)

2014年(21)

2013年(45)

2012年(152)

2011年(241)

2010年(276)

2009年(420)

2008年(294)

2007年(30)

2006年(38)

2005年(2)

2004年(1)

微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

订阅
热词专题

分类: 云计算

原文地址:docker的overlay网络---Docker native overlay network 作者:frankzfz

docker-1.9版本后,docker本身支持overlay网络,本节就是在dockernative overlay做的试验。首先,保证安装的docker的版本是1.9以上的版本信息,

这里的VM1: 10.10.185.95 VM210.10.93.222

0) 在使用overlay网络需要key-value 键值对

所以在启用的时,启用etcd

VM1:

#!/bin/bash

./etcd -name infra1 -initial-advertise-peer-urls http://10.10.185.95:2380 -listen-peer-urls http://10.10.185.95:2380 \

 -listen-client-urls http://10.10.185.95:2379,http://127.0.0.1:2379 -advertise-client-urls http://10.10.185.95:2379 \

-initial-cluster-token etcd-cluster-1  \

-initial-cluster infra0=http://10.10.72.11:2380,infra1=http://10.10.185.95:2380,infra2=http://10.10.93.222:2380 \

-initial-cluster-state new

启动docker daemon

docker daemon  --cluster-advertise=10.10.185.95:2376 --cluster-store etcd://10.10.185.95:2379,10.10.93.222:2379

VM2:启动etcd

#!/bin/bash

./etcd -name infra2 -initial-advertise-peer-urls http://10.10.93.222:2380 -listen-peer-urls http://10.10.93.222:2380 \

 -listen-client-urls http://10.10.93.222:2379,http://127.0.0.1:2379 -advertise-client-urls http://10.10.93.222:2379 \

-initial-cluster-token etcd-cluster-1  \

-initial-cluster infra0=http://10.10.72.11:2380,infra1=http://10.10.185.95:2380,infra2=http://10.10.93.222:2380 \

-initial-cluster-state new

         启动docker

docker daemon  --cluster-advertise=10.10.93.222:2376 --cluster-store etcd://10.10.185.95:2379,10.10.93.222:2379

1 docker-1.9版本中增加了network的命令,可以使用下面的命令创建一个overlay的网络,网络的命令是bar

docker network create -d overlay bar

9422b932b374c48621daeb2f9775c168f6062132003e5c570fc1a2338bcca0a3

 使用docker network ls可以查看网络信息



2) 创建Container

 使用下面的命令run一个container,这里指定了—net为我们刚才创建的网络名字。

docker run -it --net=bar --name=vm1 frankzfz/centos6.3-base-v1  /bin/bash

 Container内部可以看到生成了两个网卡,eth0eth1.



Container内部可以看到eth1eth0接口的IP地址,eth1: 172.18.0.3 eth0: 10.0.0.2,这里的eth1Docker中数据走NATeth0是两个不同hostContainer进行通信使用。

  在宿主机上可以看到docker_gwbridge 桥接口地址,该地址的IP地址172.18.0.1,类似于Docker0,这可以通过iptables表可以看出。   


3) Overlay网络创建了独立的net namespace

ls /var/run/docker/netns

1-9422b932b3  26f6ec5d9454  6ca34db04d26

  其中1-9422b932b3 是使用overlay创建的net namespace

mkdir /var/run/netns

ln -s /var/run/docker/netns/1-9422b932b3 /var/run/netns/1-9422b932b3

ip net list


3) VM2

docker run -ti --net=bar --name=vm2 frankzfz/centos6.3-base-v1 /bin/bash

Container内部,


可以直接Ping Vm1上的Container


阅读(8) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册