当前位置: 首页 > news >正文

使用weave实现跨主机docker容器互联

关于weave的原理不做细致的说明,如果想了解weave可以登陆官网:https://www.weave.works/

 

In this post,使用阿里云3台ECS服务器进行weave搭建,并测试搭建weave后,跨主机docker容器的连通性。

场景:
10.162.204.252 node1
10.171.31.181 node2
10.171.19.139 node3

一、在所有需要跨主机互通的docker宿主机安装weave。
1.在node1上安装weave,并启动weave。
wget -O /usr/bin/weave https://raw.githubusercontent.com/zettio/weave/master/weave
chmod +x /usr/bin/weave
weave launch

*注释:在阿里云ECS执行weave launch启动会报错,请在启动的时候加--ipalloc-range 172.16.0.0/12,由于默认ip地址为10段。

2.在node2上安装weave,并启动weave,并连接node1,如果有多个,可以在连接的时候指定多个。
wget -O /usr/bin/weave https://raw.githubusercontent.com/zettio/weave/master/weave
chmod +x /usr/bin/weave
weave launch 10.162.204.252 --ipalloc-range 172.16.0.0/12

3.在node3上安装weave,并启动weave,并连接node1,如果有多个,可以在连接的时候指定多个。
wget -O /usr/bin/weave https://raw.githubusercontent.com/zettio/weave/master/weave
chmod +x /usr/bin/weave
weave launch 10.162.204.252 10.171.31.181 --ipalloc-range 172.16.0.0/12


二、在所有需要跨主机互通的docker宿主机启动docker测试容器。
1.在node1上,启动一个测试容器,centos或者ubuntu都可以。
weave run 192.168.4.1/24 -it --name node1 ubuntu /bin/bash

2.在node2上,启动一个测试容器,centos或者ubuntu都可以。
weave run 192.168.4.2/24 -it --name node2 centos /bin/bash

3.在node1上,启动一个测试容器,centos或者ubuntu都可以。
weave run 192.168.4.3/24 -it --name node3 centos /bin/bash

三、测试容器的互通性。
1.登陆node1上启动的测试容器,测试与node2和node3上docker容器的连通性。


2.登陆node2上启动的测试容器,测试与node1和node3上docker容器的连通性。

3.登陆node3上启动的测试容器,测试与node1和node2上docker容器的连通性。

 

到此,如果没有出现任何问题,跨主机的docker容器已经能够互联。

转载于:https://www.cnblogs.com/xkops/p/5569876.html

相关文章:

  • 怎么打开Office 2007 Excel加密文档
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • Unity3D 之3D游戏角色控制器运动
  • linux下smb文件共享服务器详解
  • 几何画板中作函数图像的几种方法
  • HighCharts 详细使用及API文档说明
  • HTML最新标准HTML5小结
  • Docker的镜像、容器和仓库
  • 互联网
  • iOS开发--利用MPMoviePlayerViewController播放视频简单实现
  • Oracle数据库设计第三范式
  • 人月神话阅读笔记之三
  • laravel5入门(三)
  • 关于虚拟机能ping通物理机,而物理机ping不通虚拟机问题解决。
  • iis7 appcmd的基础命令及简单用法
  • 4. 路由到控制器 - Laravel从零开始教程
  • Electron入门介绍
  • extract-text-webpack-plugin用法
  • javascript 哈希表
  • Java教程_软件开发基础
  • Python十分钟制作属于你自己的个性logo
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • Solarized Scheme
  • Unix命令
  • Yii源码解读-服务定位器(Service Locator)
  • 阿里研究院入选中国企业智库系统影响力榜
  • 产品三维模型在线预览
  • 从零开始的无人驾驶 1
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 关于List、List?、ListObject的区别
  • 每天一个设计模式之命令模式
  • 判断客户端类型,Android,iOS,PC
  • 少走弯路,给Java 1~5 年程序员的建议
  • 使用common-codec进行md5加密
  • 微信小程序开发问题汇总
  • 白色的风信子
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • (3)llvm ir转换过程
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)h264中avc和flv数据的解析
  • (转)iOS字体
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • ./configure,make,make install的作用
  • .net core 控制台应用程序读取配置文件app.config
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .NET成年了,然后呢?
  • .NET命令行(CLI)常用命令
  • .net与java建立WebService再互相调用
  • ?php echo ?,?php echo Hello world!;?