weave的工作原理上与利用openvswitch建立vxlan基本一样,都是通过用三层的协议封装二层的报文来进行扩展,weave使用的是udp。weave封装了docker,在操作上为我们隐藏了很多细节,比如docker容器命名空间,虚拟网卡veth的配置,端口映射等等,另外weave还有dns, 加密通信等特点,因此操作起来更加简单快捷,但weave需要更高版本内核和docker的支持。

weave的安装:

weave的安装很方便,可以参照官方github上的说明(https://github.com/weaveworks/weave

sudo curl -L git.io/weave -o /usr/local/bin/weave
sudo chmod a+x /usr/local/bin/weave

这里不探讨安装实现的细节,weave是个脚本,可以看一下它的实现。

1、192.168.1.102上:

# 初始化weave,建立weave-router等,这个操作只需要执行一次。
weave launch
# 设置环境变量
eval $(weave env)
# 运行容器
weave run 192.168.100.100/ -ti ubuntu:latest /bin/bash

2、192.168.1.103上:

# 初始化weave,建立weave-router等,这个操作只需要执行一次。
weave launch 192.168.1.103
# 设置环境变量
eval $(weave env)
# 运行容器
weave run 192.168.100.101/24 -ti ubuntu:latest /bin/bash

3、检查iptables, weave的端口是否被禁止了。

4、测试,在两个容器中互ping,可以发现网络是通的。

weave 建立跨节点docker网络的更多相关文章

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

    关于weave的原理不做细致的说明,如果想了解weave可以登陆官网:https://www.weave.works/ In this post,使用阿里云3台ECS服务器进行weave搭建,并测试搭 ...

  2. 理解Docker(5):Docker 网络

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

  3. 理解Docker :Docker 网络

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

  4. (转)Docker 网络

    转:https://www.cnblogs.com/allcloud/p/7150564.html 本系列文章将介绍 Docker的相关知识: (1)Docker 安装及基本用法 (2)Docker ...

  5. Docker网络解决方案 - Weave部署记录

    前面说到了Flannel的部署,今天这里说下Docker跨主机容器间网络通信的另一个工具Weave的使用.当容器分布在多个不同的主机上时,这些容器之间的相互通信变得复杂起来.容器在不同主机之间都使用的 ...

  6. Docker网络 Weave

    当容器分布在多个不同的主机上时,这些容器之间的相互通信变得复杂起来.容器在不同主机之间都使用的是自己的私有IP地址,不同主机的容器之间进行通讯需要将主机的端口映射到容器的端口上,而且IP地址需要使用主 ...

  7. [经验分享] Docker网络解决方案-Weave部署记录

    前面说到了Flannel的部署,今天这里说下Docker跨主机容器间网络通信的另一个工具Weave的使用.当容器分布在多个不同的主机上时,这些容器之间的相互通信变得复杂起来.容器在不同主机之间都使用的 ...

  8. 使用weave管理docker网络

    weave简介 Weave creates a virtual network that connects Docker containers deployed across multiple hos ...

  9. FW:使用weave管理docker网络

    Posted on 2014-11-12 22:20 feisky 阅读(1761) 评论(0) 编辑 收藏 weave简介 Weave creates a virtual network that ...

随机推荐

  1. 第三个Sprint总结

    工作进展:项目基本已经完成 工作状况:                                      

  2. Watin 杂谈

    Web自动化测试(三)[弹出窗口处理] http://blog.csdn.net/cctv_hu/article/details/5984373 http://www.cyqdata.com/cnbl ...

  3. c51

    ORG 0000HMOV R7,#08HMOV 83H,#01HMOV R4,#00HAA1:CLR P3.6 CLR P3.4 SETB P3.6 DJNZ R7,AA1AA2:JB P3.0,AA ...

  4. github:如何获取项目源代码

    github是流行的源码管理平台.这上面有很多开源的项目.作为普通的用户,如何获取这些开源项目的源码呢? 1.首先需要注册一个github账号. 2.安装windows下的git工具:下载地址: ht ...

  5. mysql 数据库基本概念

    mysql 数据库基本概念 一.数据库的集中控制优点1.降低存储数据的冗余度2.更高的数据一致性3.存储的数据可以共享4.可以建立数据库所遵循的标准5.便于数据维护完整性6.能够实现数据的安全性 二. ...

  6. redis入门笔记(2)

    redis入门笔记(2) 上篇文章介绍了redis的基本情况和支持的数据类型,本篇文章将介绍redis持久化.主从复制.简单的事务支持及发布订阅功能. 持久化 •redis是一个支持持久化的内存数据库 ...

  7. SSM框架的整合思路&功能实现

    这是我第一篇博客,关于SSM框架的整合思路以及简单功能实现. 首先,最近刚刚学习Spring+SpringMVC+Mybatis,在开发时遇到形形色色的问题,周遭人也为我提供了一些思路,我会一点点整理 ...

  8. Adb工具配置和设备连接

    ADB全程Android Debug Bridge,是Android SDK里的一个工具,用这个工具可以直接操作管理Android模拟器或者真实的Android设备(如手机). 一.Adb工具使用配置 ...

  9. JS在路径中传中文参数

    需要用 encodeURI('中文');处理一下.

  10. Makefile简易教程

    本文部分内容引用: 中文维基百科. 一个简单的Makefile教程. Makefile简介 在软件开发中,make通常被视为一种软件构建工具.该工具主要经由读取一种名为"makefile&q ...