码头工人容器如何实现跨主机通信

什么是码头工人

码头工人是一个开源的应用容器引擎,开发者可以打包自己的应用到容器里面,然后迁移到其他机器的码头工人应用中,可以实现快速部署。如果出现的故障,可以通过镜像,快速恢复服务。

环境准备

操作系统:CentOS 7.6.1810

软件源:阿里云镜像(在阿里云镜像站上面可以找到docker-ce的软件源,使用国内的源速度比较快)

安装docker-ce

如果没有物理机,可以先使用虚拟机进行学习。操作系统安装,跳过(网上教程很多)。

1,安装依赖

码头工人依赖于系统的一些必要的工具,可以提前安装。

yum安装- y yum-utils device-mapper-persistent-data lvm2

2,添加软件源

yum-config-manager——add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3,安装docker-ce

百胜清洁所有百胜makecache fastyum - y安装docker-ce

4,启动服务

通过systemctl启动服务

systemctl开始码头工人

5,查看安装版本

这样子就安装成功了,启动服务以后可以使用码头工人版本查看一下当前的版本。

一、准备工作
跨主机需要两个独立的网卡:
server1和server2添加网卡

码头工人容器如何实现跨主机通信“> <br/> <img src=

[root@localhost ~] # ip addr显示,查看网卡是否添加成功

码头工人容器如何实现跨主机通信“> <br/>添加成功。</p> <p> macvlan本身是linxu内核的模块,本质上是一种网卡虚拟化技术。其功能是允许在同一个物理网卡上虚拟出多个网卡,通过不同的MAC地址在数据链路层进行网络数据的转发,一块网卡上配置多个MAC地址(即多个接口),每个接口可以配置自己的IP,码头工人的macvlan网络实际上就是使用了Linux提供的macvlan驱动。因为多个MAC地址的网络数据包都是从同一块网卡上传输,所以需要打开网卡的混杂模式IP链路群eth2 promisc alt=奥胪饭と巳萜魅绾问迪挚缰骰ㄐ拧? <br/> <img src=注意:如果不开启混杂模式,会导致macvlan网络无法访问外界
具体在不使用vlan时,表现为无法ping通路由,无法ping通同一网络内其他主机
在两台主机上各创建macvlan网络
创建macvlan网络不同于桥接模式,需要指定网段和网关(因为要保证跨主机上网段和网关是相同的),并且都得是真实存在的
[root@localhost ~] #码头工人网络创建网关172.16.36.254 - o - d macvlan——子网172.16.36.0/24父母=ens37 macvlan,,,#创建名为macvlan的网络
[root@localhost ~] #码头工人网络ls,,,,#查看本地网络信息

码头工人容器如何实现跨主机通信

创建码头工人容器
server1:
[root@localhost ~] #码头工人运行————名字vm01网络=macvlan——ip=172.16.36.101 centos
[root@1f89fd5f37ff/] # ip addr

码头工人容器如何实现跨主机通信

[root@1f89fd5f37ff/] #平172.16.36.100

码头工人容器如何实现跨主机通信“> <br/> server2: <br/> [root@localhost ~] #码头工人运行————名字vm02网络=macvlan——ip=172.16.36.100 centos <br/> [root@e8da7e4ef2b3/] # ip addr </p> <p> <img src=

[root@e8da7e4ef2b3/] #平172.16.36.101

码头工人容器如何实现跨主机通信

跨主机通信就这样配置完了。

<强> DNS设置

跨主机通信设置成功后,容器可能需要上网进行资料下载,所以现在进行DNS设置,配置如下:
修改daemon.json文件,文件所在路径为/etc/码头工人/下,文件添加以下内容:
“dns"(
:“172.16.1.1",
“202.96.128.166"
]
码头工人容器如何实现跨主机通信“> <h2 class=码头工人容器如何实现跨主机通信