一.环境

三台机器,其中一台安装 consul(192.168.1.21), 两台创建网络(192.168.1.32,33)

二.实现步骤

1.构建环境

1)三台机器部署docker环境

2)选择一台作为consul服务器,安装consul;consul 为一个key-value数据库用于保存网络状态信息,其他的支持key-value的软件有etcd,zookeeper等。

我们这里直接用镜像方式启动consul容器,来部署 consul,

docker run -d  -p  8500:8500  -h  consul  --name   consul  progrium/consul  -server  -bootstrap

启动之后,我们可以用浏览器192.168.1.21:8500, 进行查看consul;

3)修改两台机器的docker daemon  配置文件

/usr/lib/systemd/system/docker.service

在ExecStart=/usr/bin/dockerd 后加入  --cluster-store=consul://192.168.1.21:8500 --cluster-advertise=ens33:2376

其中192.168.1.21为consul 主机, ens33为 consul 主机的网卡

4)到浏览器192.168.1.21:8500, 进行查看consul;在 key/value 下发现两个节点,此为自动注册到consul数据库中的节点。

2.构建overlay网络

1)在一台主机中创建overlay网络

docker  network  create  -d  overlay  ov_net1

-d 为指定driver为overlay

docker  network ls  查看网络情况

网络类型为 global,同时可在另一台主机查看到该网络,因为创建该网络时,主机将网络信息存入 consul中,另一台主机会读取到新网络的信息,在主机上对网络的操作会同步到consul中。

2)在网络中运行容器

docker run -itd --name bbox1 --network ov_net1 busybox

查看网络配置

docker exec bbox1 ip r

会有两个网卡,一个eth0,连接 overlay网络, 另一个 eth1,连接主机的docker_gwbridge, 为访问外网的容器提供出口;

在另一台机器运行容器2,

docker run -itd --name bbox2  --network ov_net1 busybox

docker exec bbox2 ip a

docker exec bbox2 ping -c bbox1  同一个overlay 网络的容器可以互相ping 通

3)不同overlay中网络的隔离性

创建一个ov_net2网络

docker network create -d overlay ov_net2

在该网络中运行一个容器

docker  run -itd  --name  bbox3  --network  ov_net2

测试该容器是否能ping 通其他容器

docker  exec -it  bbox3  ping  -c  2  bbox1

不通,说明不同overlay网络之间是隔离的。

如果要让两个 overlay的容器通信,可以将其中的一个容器连到另一个容器所在的overlay,

docker network connect ov_net1 bbox3

测试docker exec -it bbox3 ping -c 2 10.0.0.2 ,网络为通。10.0.0.2为bbox1的ip地址

4)ip管理

默认分配子网,10.0.X.0/24 ,也可以通过 --subnet 指定ip 范围

docker  network  create  -d  overlay  --subnet  10.2.0.0/24   ov_net3

docker 环境下创建 overlay 网络方案的更多相关文章

  1. docker环境下构建flannel 网络

    flannel 是coreos 开发的网络解决方案,为每一台主机分配一个 subnet,容器从此subnet 中分配ip,ip可以在主机间路由.每个subnet从更大的ip池中划分,为了在各个主机间共 ...

  2. 理解Docker(6):若干企业生产环境中的容器网络方案

    本系列文章将介绍 Docker的相关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...

  3. Docker系列04—跨主机网络方案(overlay/weave)

    在前面详细讲解了几种网络模式:none,host,bridge,container.他们解决了单个主机间的容器的通信问题,并不能实现多个主机容器之间的通信. 跨主机网络方案包括两大类: 1,docke ...

  4. 创建 overlay 网络 - 每天5分钟玩转 Docker 容器技术(50)

    上一节我们搭建好实验环境,配置并运行了consul,今天开始创建 overlay 网络. 在 host1 中创建 overlay 网络 ov_net1: -d overlay 指定 driver 为 ...

  5. Docker Swarm 创建overlay网络

    Docker Swarm 创建overlay网络 环境: 系统:Centos 7.4 x64 应用版本:Docker 18.09.0 管理节点:192.168.1.79 工作节点:192.168.1. ...

  6. Docker环境下的Mysql8 实现主从数据库数据同步方案

    本文记录下通过MySQL Replication在Docker环境下,通过多个容器 实现数据库主从配置. MySQL Replication就不多解释了,简单说就是MySQL非常出色的一个功能,该功能 ...

  7. docker环境下solrcloud+zookeeper集群部署教程

    前言:两个月前的16年11月份完成的配置,使用的solr6.1和zookeeper3.4,刚刚写成blog,目前版本可能有小版本的变化. 本例完成结果为:在docker环境下部署solrcloud集群 ...

  8. docker环境下solr6.0配置(中文分词+拼音)

    前言:这篇文章是基于之前的“linux环境下配置solr5.3详细步骤”(http://www.cnblogs.com/zhangyuan0532/p/4826740.html)进行扩展的.本篇的步骤 ...

  9. 050、创建overlay网络(2019-03-15 周五)

    参考https://www.cnblogs.com/CloudMan6/p/7280787.html   在host01中创建overlay网络 ov_net1   在下面的例子中可以看到,我们在ho ...

随机推荐

  1. Linux->Mysql安装调试

    环境准备 mysql下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-linux-glibc2.12-x86_64.tar ...

  2. mysql中通过my.cnf设置默认字符集utf-8

    选项配置 配置文件路径:/full/path/mysql/bin/my.cnf (默认为/etc/my.cnf ) [client] default-character-set=utf8 [mysql ...

  3. Android Studio添加取消代码注释快捷键

    经常需要注释,取消注释代码 Ctrl + /       对每段代码前面添加或者取消 // Ctrl + Shift + /   对代码添加 或取消 /* */ Ctrl + B     查找定义 C ...

  4. js中公有方法、特权方法、静态方法

    1.公有属性和公有方法 1 2 3 4 5 6 7 8 9 function User(name,age){   this.name = name;//公有属性   this.age = age; } ...

  5. 【深入理解JAVA虚拟机】第5部分.高效并发.1.Java内存模型与线程。

    1.概述 摩尔定律:描述处理器晶体管数量与运行效率之间的发展关系.Amdahl定律:通过系统中并行化与串行化的比重来描述多处理器系统能获得的运算加速能力. 从摩尔定律到Amdahl定律的转变,代表了近 ...

  6. June 27th 2017 Week 26th Tuesday

    Happiness takes no account of time. 幸福不觉光阴过. At the beginning of this week, I planned to make some s ...

  7. 全新Chrome Devtool Performance使用指南

    运行时性能表现(runtime performance)指的是当你的页面在浏览器运行时的性能表现,而不是在下载页面的时候的表现.这篇指南将会告诉你怎么用Chrome DevToos Performan ...

  8. MATLAB入门学习(四)

    今天我们开始学编程啦~ 点击左上角的这个进入编程界面 这是新建新的.m文件,也就是matlab命令文件, 一般命令文件不带输入和输出的参数,只是一些命令的组合,带有输入输出参数的文件是函数文件~ 下面 ...

  9. 查找连接过的USB存储设备

    gp "HKLM:\SYSTEM\CurrentControlSet\Enum\USBSTOR\*\*"|select friendlyname,CompatibleIDs,mfg ...

  10. 【luogu P1939 【模板】矩阵加速(数列)】 题解

    题目链接:https://www.luogu.org/problemnew/show/P1939 对于矩阵推序列的式子: 由题意知: f[x+1] =1f[x] + 0f[x-1] + 1f[x-2] ...