前言

  • IP:

    • 192.168.0.10
    • 192.168.0.11
  • 系统版本:centos 7
  • weave版本:2.8.1,下载地址:https://git.io/weave
  • docker版本:18.06.3

注意:

  1. linux内核版本至少3.8+,但推荐3.12+,性能更好。
  2. docker主机名不能相同。
  3. 节点之间如有防火墙,必须放行6783/tcp、6783/udp和6784/udp端口。

步骤

  1. 安装weave(在国内的话可能需要点魔法,可以先用魔法在浏览器下载,然后再传到服务器)
curl -L git.io/weave -o /usr/local/bin/weave
  1. 启动weave并与其他主机建立连接。启动的时候会拉取weave镜像,建议先配置docker国内源。
weave launch
# 也可以直接指定要通信的主机
# 192.168.0.10上执行
weave launch 192.168.0.11
## 192.168.0.11上执行
weave launch 192.168.0.10
  1. 使用weave创建容器
# 方式一。使用该方式后创建容器就不需要指定weave网络了,而且可以使用weave自带的dns
eval $(weave env)
docker run -it busybox
# 方式二
docker run -it --rm --net=weave busybox

weave常用命令

  • 查看weave主机连接信息
weave status connections
  • 查看帮助信息
weave help
  • 列出使用weave网络创建的容器
weave ps

weave其他功能

  • 命名和发现。命名的容器会自动注册到weave dns,并可以通过容器名称通信。需要执行eval $(weave env)
  • IP地址管理(IPAM)。weave自动为容器分配位移的IP地址,可通过weave ps查看。
  • 负载均衡。允许注册多个相同名称的容器,weave dns随机为每个请求返回地址,提供基本的负载均衡功能。
  • 动态拓扑。可以在不停止或重新配置docker主机的情况下,从weave网络添加或删除docker主机
  • 容错。如果有主机或网络出现故障,weave会绕过故障主机,保证两边容器继续通信。

基于weave实现docker跨主机网络通信的更多相关文章

  1. 基于Ceph分布式集群实现docker跨主机共享数据卷

    上篇文章介绍了如何使用docker部署Ceph分布式存储集群,本篇在此基础之上,介绍如何基于Ceph分布式存储集群实现docker跨主机共享数据卷. 1.环境准备 在原来的环境基础之上,新增一台cen ...

  2. Docker跨主机网络——overlay

    前言 在Docker网络--单host网络一文中,我为大家总结了Docker的单机网络相关知识和操作,单机网络比较容易.本文我为大家总结Docker跨主机通信相关知识.同样本文大部分内容以CloudM ...

  3. Docker跨主机网络实践

    Docker使用中网络管理是最麻烦的,在项目初始化前期就需要进行合理的规划,如果在比较理想的单主机的网络通信是比较简单的,但如果涉及到跨主机的网络就需要使用docker自带的overlay netwo ...

  4. Docker 跨主机网络方案分析

    PS:文章首发公众号,欢迎大家关注我的公众号:aCloudDeveloper,专注技术分享,努力打造干货分享平台,二维码在文末可以扫,谢谢大家. 上篇文章介绍了容器网络的单主机网络,本文将进一步介绍多 ...

  5. docker 实践十一:docker 跨主机通讯

    在上一篇了解了关于 docker 的网络模型后,本篇就基于上一篇的基础来实现 docker 的跨主机通信. 注:环境为 CentOS7,docker 19.03. 本篇会尝试使用几种不同的方式来实现跨 ...

  6. Docker跨主机通信(九)--技术流ken

    容器网络 在前面的博客中已经详细讲解了几种网络方案: none, host, bridge,user-defined.但是他们只是解决了单个主机间的容器的通信问题,并不能实现多个主机容器之间的通信.本 ...

  7. Docker跨主机网络解决方案

    前言:前面的部分一直都是单机跑docker,但实际生产环境不可能只用一台来跑.肯定会用到多台,因为他们都是内部私有ip,那么多台主机之间的容器如何通信?这个是个很头疼的问题!目前主流几种方法如下:1. ...

  8. docker 跨主机网络:overlay 简介

    简介 docker 在早前的时候没有考虑跨主机的容器通信,这个特性直到 docker 1.9 才出现.在此之前,如果希望位于不同主机的容器能够通信,一般有几种方法: 使用端口映射:直接把容器的服务端口 ...

  9. Docker 跨主机网络 overlay(十六)

    目录 一.跨主机网络概述 二.准备 overlay 环境 1.环境描述 2.创建 consul 3.修改 docker 配置文件 4.准备就绪 三.创建 overlay 网络 1.在 host1 中创 ...

  10. Docker跨主机通信(九)

    容器网络 在前面的博客中已经详细讲解了几种网络方案: none, host, bridge,user-defined.但是他们只是解决了单个主机间的容器的通信问题,并不能实现多个主机容器之间的通信.本 ...

随机推荐

  1. ACM中的java的使用;

    java大法好,退C保平......开玩笑的: 1.头文件: import java.math.*; // 包含大数类的包 import java.util.*; // 包含输入头的包 2.程序主体, ...

  2. Vue使用:style动态给css中某样式赋值

    template中 <span class="successOrError" :style="{'--fontColor':"green"}&q ...

  3. 2020-01-16:我截获了登录token的话,是不是就获得了登录状态,这样就不安全了。如何保证安全?

    福哥答案2020-01-06:[知乎答案:](https://www.zhihu.com/question/439602796)首先,Token 一般放在 Header 或者 Cookies 中,Ht ...

  4. vue全家桶进阶之路21:Vue Loader 打包单位件组件

    Vue Loader 是一个 webpack 插件,它允许在单个文件中定义 Vue 组件,并将其包装为 CommonJS 模块,以便在应用程序中使用.使用 Vue Loader 打包的组件被称为单文件 ...

  5. <form>表单中的action和method使用方法

    <form action="" method="post"> form是表单   里面的内容是要提交出去的. action 是链接   点击浏览选择 ...

  6. 【LeetCode】Find Pivot Index #724 Rust Solution

    给定一个整数类型的数组 nums,请编写一个能够返回数组 "中心索引" 的方法.我们是这样定义数组 中心索引 的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和.如果数 ...

  7. 淘宝召回模型MGDSPR-学习笔记

    一 简介 本文是论文Embedding-based Product Retrieval in Taobao Search的学习笔记 1 整体概览 电商无处不在,从大规模语料库里面检索出兼顾相关性和用户 ...

  8. 「Python实用秘技14」快速优化Python导包顺序

    本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills 这是我的系列文章「Python实用秘技」的第14 ...

  9. pta第三阶段题目集

    (1)前言 pta第三阶段作业中,主要包含了如下的主要内容: 1.全程贯穿了课程设计的程序,每一次都是上一次的迭代和修改,难度较大,中间涉及到先是类与类之间的多态和继承关系,后面的修改中,转变为了组合 ...

  10. W1R3S-1项目实战

    前言 您受聘在W1R3S.inc单个服务器上进行渗透测试,并报告所有发现.他们要求您获得root访问权限并找到标志(位于/root目录中). 难以获得低特权外壳:初级/中级 获得特权升级的难度:初级/ ...