zoukankan      html  css  js  c++  java
  • 使用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容器已经能够互联。

  • 相关阅读:
    Nginx 部署多个 web 项目(虚拟主机)
    Nginx 配置文件
    Linux 安装 nginx
    Linux 安装 tomcat
    Linux 安装 Mysql 5.7.23
    Linux 安装 jdk8
    Linux 安装 lrzsz,使用 rz、sz 上传下载文件
    springMVC 拦截器
    spring 事务
    基于Aspectj 注解实现 spring AOP
  • 原文地址:https://www.cnblogs.com/xkops/p/5569876.html
Copyright © 2011-2022 走看看