使用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容器已经能够互联。
使用weave实现跨主机docker容器互联的更多相关文章
- 使用openvswitch实现跨主机docker容器互联
安装openvswitch的步骤请参考上一篇文章:http://www.cnblogs.com/xkops/p/5568167.html 环境:192.168.3.201 node1192.168.3 ...
- Docker容器利用weave实现跨主机互联
Docker容器利用weave实现跨主机互联 环境: 实现目的:实现主机A中容器1与主机B中容器1的网络互联 主机A步骤: ①下载复制weave二进制执行文件(需要internet)[root@192 ...
- 多主机Docker容器的VLAN划分
原文发表于cu:2016-06-06 参考文档: Docker网络的4种模式,pipework/ovs的简单使用等:http://www.infoq.com/cn/articles/docker-ne ...
- Docker:使用Ambassador进行跨主机间容器通信
转载请注明出处:点我 由于Docker自身的网络的原因,想要在多主机间的容器之间进行通信是比较麻烦的事情.可以利用Ambassador容器来实现这一功能. 基本原理: 利用Ambassador来实现主 ...
- Docker系列(四):Docker容器互联
基于Volume的互联 为什么需要Volume docker文件系统是分层的,下面的是全部是只读的,最上面的是可写层,容器中的进程如果修改了某个文件,比如修改了下层的某个文件,其实是在最顶层复制下层文 ...
- Docker - 容器互联
容器互联 通过docker run命令的--link参数可以让容器之间通过连接(linking)系统进行交互. 参数格式:--link name:alias ,name是要链接的容器名称, alias ...
- 【Docker学习之六】Docker容器互联
环境 docker-ce-19.03.1-3.el7.x86_64 centos 7 一.基于Volume的互联就是-v参数,将本机文件或目录挂载到容器目录,实现文件目录共享 二.基于Link的互联 ...
- docker容器互联,实现目录、服务共享
一.需求 docker使服务之间实现容器隔离,比如Javaweb项目前端.后端.数据库.数据库后台,分别把它们部署在不同的容器里面,实现隔离.但服务和服务之间也有互访的需求,这就涉及到容器网络和容器互 ...
- weave 建立跨节点docker网络
weave的工作原理上与利用openvswitch建立vxlan基本一样,都是通过用三层的协议封装二层的报文来进行扩展,weave使用的是udp.weave封装了docker,在操作上为我们隐藏了很多 ...
随机推荐
- iOS开发之正则表达式
正则表达式用于字符串处理.表单验证等场合,实用高效.现将一些常用的表达式收集于此,以备不时之需. 匹配中文字符的正则表达式: [\u4e00-\u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达 ...
- rbegin 和 end 区别
在使用C++的STL时,经常会用到迭代器,那么不得不搞清楚里面的一些指针 begin(), end(), rbegin(), rend()之间的区别与联系,以及它们分别都指向哪个元素.首先要明白的一点 ...
- jquery判断是否出现滚动条
$(document).ready(function(){ var winH = $(window).height(); //页面可视区域高度 $(window).scroll(function () ...
- ICursor查询后的排序问题
为某表做剔除整合处理,各行相关.起初使用 ICursor pCursor = pTable.Search(null,false); 语句查询,ICursor的第一行并没有指向表的第一行,虽然不是第一行 ...
- linux下六大IPC机制【转】
转自http://blog.sina.com.cn/s/blog_587c016a0100nfeq.html linux下进程间通信IPC的几种主要手段简介: 管道(Pipe)及有名管道(named ...
- Scrum会议8(Beta版本)
组名:天天向上 组长:王森 组员:张政.张金生.林莉.胡丽娜 代码地址:HTTPS:https://git.coding.net/jx8zjs/llk.git SSH:git@git.coding.n ...
- sqlite相关工具使用
sqlite3可视化工具 1.sudo apt-get install sqlitebrowser 2.sudo apt-get install sqliteman3.sqlitestudio需要去官 ...
- Mac OS 快捷键
系统 (Option+) Command+Space 切换输入法 Command+Tab 切换不同应用 Command+Tab 切换一个应用内的不同窗口 Command+Shift+3 截取整个屏幕 ...
- ESXi云管理平台
实验室有多台使用ESXi实现虚拟化的服务器,平时管理不便,便通实验室其他同学一起编写了一个基于ESXi的云平台管理系统. 对物理服务器进行管理,实现增加.删除.修改.性能监控. 对虚拟机进行管理,实现 ...
- lvs简单配置
负载均衡服务器将会用到两块网卡,eth0为公网地址(此处将局域网ip作为公网地址),IP地址为192.168.1.104,eth0:1,IP地址为192.168.2.1在负载均衡器上添加一个ip别名, ...