2019独角兽企业重金招聘Python工程师标准>>>

拓扑图如下:

host1:10.20.10.70

host2:10.20.10.71

分别在主机1和主机2上创建一个ovs交换机:

ovs-vsctl add-br ovs0
ip link set ovs0 up

分别为ovs0添加一个port(br0在同一网段):

ovs-vsctl add-port ovs0 br0

在主机1创建通往host2的gre隧道:

ovs-vsctl add-port ovs0 gre0 -- set interface gre0 type=gre options:remote_ip=10.20.10.71

在主机2创建通往host1的gre隧道:

ovs-vsctl add-port ovs0 gre0 -- set interface gre0 type=gre options:remote_ip=10.20.10.70

在主机1上启动一个容器(使用pipework把容器挂在br0上,分配的ip地址为192.168.2.10):

./ldocker.sh

在主机2上启动一个容器(使用pipework把容器挂在br0上,分配的ip地址为192.168.2.11):

./ldocker.sh

进入主机1上的容器,ping主机2上的容器:

可以ping通。。。

配置成功

host1上的ldocker.sh代码如下(反复试验的原因,打到手软了,所以用个简单脚本):

#!/bin/sh
docker run -itd --name=test1 hochikong/erbuntu:v1
pipework br0 test1 192.168.2.10/24

关于如何进入容器操作ping,请参见本人另一博文:http://my.oschina.net/hochikong/blog/369036

总结:这样的方案可以让同一网段的容器跨机器进行通讯,实现了应用的灵活部署。另外,我的拓扑和这个架构(http://www.sdnlab.com/8236.html)实现的功能是一样的,大家也可以参考下,不过我是bridge和OVS混用的,还可以在ovs0上实现VLAN,目前还没发现有什么大问题。

另外我尝试为ovs0配置ip,两个ovs0配置同一网段的ip(比如10.0.0.1和10.0.0.2),网络也可以通讯,去掉也没问题。

接下来我要尝试在两个host上创建多个这样的网络,测试结果迟些出吧。

转载于:https://my.oschina.net/hochikong/blog/378865

#DDBMS#构建一个简单的docker网络相关推荐

  1. 基于PyTorch,如何构建一个简单的神经网络

    本文为 PyTorch 官方教程中:如何构建神经网络.基于 PyTorch 专门构建神经网络的子模块 torch.nn 构建一个简单的神经网络. 完整教程运行 codelab→ https://ope ...

  2. 如何构建一个简单的语音识别应用程序

    "In this 10-year time frame, I believe that we'll not only be using the keyboard and the mouse ...

  3. 【Hyperledger Fabric入门】(一) 快速运行一个简单的Fabric网络2

    本文在Ubuntu18.04运行,fabric版本为2.3.0.本文篇幅较长,因此分为两篇.快速运行一个简单的Fabric网络1详见:link 目录 3. Orderer节点的启动 4. Peer节点 ...

  4. 快速构建一个简单的对话+问答AI (上)

    文章目录 前言 part0 资源准备 基本功能 语料 停用词 问答 闲聊语料 获取 part01句的表达 表达 one-hot编码 词嵌入 大致原理 实现 简单版 复杂版 如何训练 转换后的形状 pa ...

  5. 通过python 构建一个简单的聊天服务器

    构建一个 Python 聊天服务器 一个简单的聊天服务器 现在您已经了解了 Python 中基本的网络 API:接下来可以在一个简单的应用程序中应用这些知识了.在本节中,将构建一个简单的聊天服务器.使 ...

  6. 第20课:Neo4j 从入门到构建一个简单知识图谱

    Neo4j 对于大多数人来说,可能是比较陌生的.其实,Neo4j 是一个图形数据库,就像传统的关系数据库中的 Oracel 和 MySQL一样,用来持久化数据.Neo4j 是最近几年发展起来的新技术, ...

  7. python构建知识图谱_NLP第20课:Neo4j 从入门到构建一个简单知识图谱

    Neo4j 对于大多数人来说,可能是比较陌生的.其实,Neo4j 是一个图形数据库,就像传统的关系数据库中的 Oracel 和 MySQL一样,用来持久化数据.Neo4j 是最近几年发展起来的新技术, ...

  8. Neo4j 从入门到构建一个简单知识图谱

    Neo4j 对于大多数人来说,可能是比较陌生的.其实,Neo4j 是一个图形数据库,就像传统的关系数据库中的 Oracel 和 MySQL一样,用来持久化数据.Neo4j 是最近几年发展起来的新技术, ...

  9. Dockerfile精编细作(二)构建一个简单的镜像

    Bash镜像说明 例如:CentOS的Dockerfile中FROM serach dockerHub上几乎所有的镜像都是通过bash镜像中安装和配置需要的软件构建出来的 构建一个简单的镜像 构建一个 ...

最新文章

  1. AlwaysOn业务IP和高可用IP分开使用方案测试报告
  2. amazeui页面分析之登录页面
  3. linux 账号和密码文件 /etc/passwd和/etc/shadow 简介
  4. python datetime格式转换_分别用Excel和python进行日期格式转换成时间戳格式
  5. android activity dialog 高度,将Activity以Dialog形式显示,并设置宽高度
  6. 3D 音频技术产品介绍(1):Iosono the future of spatial audio
  7. RIP协议相关知识总结
  8. 我国数据中心产业发展“渐入佳境” 服务是重中之重
  9. 设python中有模块m、如果希望同时导入m中的所有成员_python-模块
  10. 如何获取codeforces的完整数据
  11. C#窗体在任务栏对窗体放大或缩小
  12. 界面设计与测试的规范
  13. linux android studio 快捷方式,Android studio中的代码格式化快捷方式
  14. android APP优化知识图谱
  15. [转载] Python学习(五)Numpy通用函数汇总
  16. Android TextureView简易教程
  17. NTKO Weboffice打开文档格式错误的解决方案
  18. 计算机网络(一):网络层次划分及各层的网络协议
  19. linux分区btrfs,系统基础之Btrfs文件系统详解
  20. 浅谈魔兽世界的BUFF系统和阵营系统

热门文章

  1. 使用Nautilus脚本增加新功能
  2. WCF步步为营(五):数据契约
  3. 人工智能其实并不客观,算法会加剧刻板印象
  4. 整合大数据价值最大化的三个关键因素
  5. 当AD服务器置于防火墙内时,所需开放的端口
  6. 西卡 你要浮出水面啦
  7. 第二讲 完全背包问题(对背包九讲的学习)
  8. switch case 支持的 6 种数据类型!
  9. 推荐系统中基于深度学习的混合协同过滤模型
  10. 《github一天一道算法题》:并归排序