Docker容器利用weave实现跨主机互联

摘要:
Docker容器使用weave实现跨主机互连环境:目的:实现主机A中容器1与主机B中容器1之间的网络互连主机A步骤:① 下载并复制weave二进制执行文件(需要internet)[root@192~]#数字lonehttps://github.com/weaveworks...#如果没有git,yu_installgit[root@192~]#cp-p/root/wweave/wweave/usr/lo

Docker容器利用weave实现跨主机互联

环境:
图片描述

实现目的:实现主机A中容器1与主机B中容器1的网络互联

主机A步骤:

①下载复制weave二进制执行文件(需要internet)
[root@192 ~]#git clone https://github.com/weaveworks... #如没有git,yum install git
[root@192 ~]#cp -p /root/weave/weave /usr/local/bin/
[root@192 ~]#weave version
weave version会检测weave运行容器状态,所以会先从注册服务器下载weaveexec容器

②在第一次weave launch会报各种错误,根据提示先排除错误在进行启动。
[root@192 ~]# iptables -L FORWARD --line-numbers
找到规则REJECT all anywhere anywhere reject-with icmp-host-prohibited的编号将它删除
[root@192 ~]# iptables -D FORWARD 19
打开本地tcp和udp对weave的端口
[root@192 ~]# iptables -I INPUT -m state --state NEW,ESTABLISHED -p tcp --dport 6783 -j ACCEPT
[root@192 ~]# iptables -I INPUT -m state --state NEW,ESTABLISHED -p udp --dport 6783 -j ACCEPT
weave launch会自动进行tls检测,把它关掉启动
[root@192 ~]# weave launch --no-detect-tls
等待下载weave剩下的支持容器

③启动docker容器,使用weave网桥给容器分配沟通地址
[root@192 ~]# docker run -dit -P centos/httpd:v1
[root@192 ~]# weave attach 192.168.2.1/24 容器ID
192.168.2.1

主机B步骤:

①下载复制weave二进制执行文件(需要internet)
[root@192 ~]#git clone https://github.com/weaveworks...
[root@192 ~]#cp -p /root/weave/weave /usr/local/bin/
[root@192 ~]#weave version
weave version会检测weave运行容器状态,所以会先从注册服务器下载weaveexec容器

②在第一次weave launch会报各种错误,根据提示先排除错误在进行启动。
[root@192 ~]# iptables -L FORWARD --line-numbers
找到规则REJECT all anywhere anywhere reject-with icmp-host-prohibited的编号将它删除
[root@192 ~]# iptables -D FORWARD 19
打开本地tcp和udp对weave的端口
[root@192 ~]# iptables -I INPUT -m state --state NEW,ESTABLISHED -p tcp --dport 6783 -j ACCEPT
[root@192 ~]# iptables -I INPUT -m state --state NEW,ESTABLISHED -p udp --dport 6783 -j ACCEPT
weave launch会自动进行tls检测,把它关掉启动
[root@192 ~]# weave launch 192.168.1.9 --no-detect-tls #启动并连接主机A,注意主机A不要去连接主机B
等待下载weave剩下的支持容器

③启动docker容器,使用weave网桥给容器分配沟通地址
[root@192 ~]# docker run -dit -P centos/httpd:v1
[root@192 ~]# weave attach 192.168.2.2/24 容器ID
192.168.2.2

测试:

[root@192 ~]# docker exec -it 容器ID /bin/bash
[root@192 ··]# ping 192.168.2.2
PING 192.168.2.2 (192.168.2.2) 56(84) bytes of data.
64 bytes from 192.168.2.2: icmp_seq=1 ttl=64 time=3.06 ms
64 bytes from 192.168.2.2: icmp_seq=2 ttl=64 time=2.21 ms
跨主机通信成功

免责声明:文章转载自《Docker容器利用weave实现跨主机互联》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇一起学Android之ContentProvider简易google地图api调用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

docker中安装anaconda+ jupyter(远程访问)+tensorflow

一、docker安装anaconda 1、到anaconda清华镜像网站下载:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 注意版本:Anaconda2表示python2,Anaconda3表示python3。查看:https://blog.csdn.net/yuejisuo1948/arti...

docker安装启动、配置MySql

1、安装mysql镜像 docker pull mysql/mysql-server 2、docker中启动Mysql容器 docker run --name mysql01 -d -p 3306:3306 mysql/mysql-server 启动后执行: docker ps 通过以下命令查看root的password docker logs...

Docker镜像制作-Day02

1. 手动制作Docker镜像 1.1 手动制作基于yum安装nginx的Docker镜像 1.1.1 启动基础镜像,并安装nginx [root@docker01 ~]# docker pull centos:7.9.2009 [root@docker01 ~]# docker images|grep 7.9 centos ce...

Docker中的Cgroup Driver:Cgroupfs 与 Systemd

在安装kubernetes的过程中,会出现 failed to create kubelet: misconfiguration: kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd" 文件驱动默认由systemd改成cgroupfs, 而我们...

通过docker安装elasticsearch和安装ik分词器插件及安装kibana

前提: 已经安装好docker运行环境; 步骤: 1.安装elasticsearch 6.2.2版本,目前最新版是7.2.0,这里之所以选择6.2.2是因为最新的SpringBoot2.1.6默认支持的就是6.2.2的,而7.x是有很大更新的,SpringBoot正常集成的情况下无法和es最新版本兼容; 这里只需要记住Document的一个index只能创...

使用kubeadm部署K8S v1.17.0集群

环境信息 操作系统:CentOS Linux release 7.7.1908 (Core) docker:19.03.8 kubernetes:v1.17.0 集群信息 hostname IP k8s-master 192.168.87.10 k8s-node01 192.168.87.11 一、准备工作(所有节点执行) 1.1、...