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. When use jQuery databTables after add action reloa
  2. 决赛评审招募 | 学生创意能有多不羁?快来网易看决赛!
  3. ni软件管理器_NI 技术支持丨我的 NI 硬件设备不能被识别,怎么办?Windows
  4. Intouch使用SIDirect OIServer 连接西门子PLC S7-300
  5. 帆软报表学习笔记——根据参数查询
  6. java怎么创建多个对象_java语言之创建多个对象
  7. Unity3D-VR_Gevr VR射线+tag的转换+物体展示
  8. 【软件工程笔记】用例图、类图、ER图、系统流程图、软件结构图
  9. 数据库系统的三级模式结构
  10. 使用JQuery.slideBox实现图片滚动效果
  11. mysql增删查改------插入与查询数据
  12. 贝壳云P1刷机记录(5.10内核Armbian)
  13. 虚拟机开机问题:开机时卡在启动窗口
  14. 正则表达式详解(Perl)
  15. c语言编程 目录,C语言编程实例简介,目录书摘
  16. 解决VS code报错,过程试图写入的管道不存在(Bad owner or permissions on C:\\Users\\Administrator/.ssh/config)
  17. MapGIS三维地学建模工具升级!新增地质网格类、提升地学建模与空间分析能力
  18. 人工智能方向开发环境说明
  19. ARM处理器的工作模式。
  20. 如何计算当地的中央子午线?

热门文章

  1. [Linux]安装node.js
  2. 索引贴——移动开发(.Net CF 停止更新)
  3. lLinux网络相关命令,防火墙介绍及相关命令
  4. 安装python爬虫scrapy踩过的那些坑和编程外的思考
  5. python基础===Python 代码优化常见技巧
  6. DataTable中进行Distinct、Group by、Join、Create
  7. 令人郁闷的 DOCTYPE
  8. jstat命令查看tomcat进程提示进程没找到(PID not found
  9. 排插老化再酿祸端,安全新国标排插首选品胜
  10. Mysql 添加用户和数据库授权