Docker容器

Docker跨主机通信之weave

本文主要是介绍Docker跨主机通信之weave,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Docker跨主机访问

一. 为什么要跨主机访问?

在工作中docker容器会部署在不同的服务器中,那么就涉及到不同的机器间容器的相互通信。我们都知道docker-compose用于容器编排,但是只能解决单台服务器上容器间的通信问题。在本课程中我们将实现不同的服务器间容器的通信。

我们采用的技术是weave,属于第三方网络项目,基于UDP的数据传输,其工作原理是创建一个连接多个主机的虚拟网络,类似于一个以太网交换机,所有的容器都连接到上面,互相通信。

二. 安装weaver

2.1 主机的规划

node1 node2
192.168.2.217 192.168.2.250

注意:两台服务的防火墙必须都要开启。

2.2 weave的安装

A. 下载weave脚本 https://github.com/weaveworks/weave

下载 weave文件,或者直接将其内容拷贝到 /usr/local/bin 目录下,然后执行如下命令:

chmod a+x /usr/local/bin/weave

image-20220816144051355

B. 分别执行如下两个命令:

weave version
weave launch

执行完如上的命令后会下载三个镜像,并且会自动启动一个容器,如下图所示:image-20220816144207391

C. 在另外一台机器上执行同样的命令。

2.3 通信配置

A. 将各主机间的weave实现互联

weave connect 192.168.2.217    #在192.168.2.250机器上执行
weave connect 192.168.2.250    #在192.168.2.217机器上执行

B. 各自启动一个centos容器

docker run -it centos /bin/bash

image-20220816144311260

C.使用weave规划网络

weave attach 172.10.3.23/24 e2e4909711b7  # 192.168.2.250
weave attach 172.10.3.24/24 e2e4909711b7  # 192.168.2.217
在这里插入图片描述 在这里插入图片描述

D. 分别进入到两个容器中互 ping

image-20220816144803375

image-20220816144854889

三.查看网络情况

image-20220816145122952

两台服务器都新创建了相同的网络,且在同一网段

这篇关于Docker跨主机通信之weave的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!