首页 > 其他分享 >跨主机Docker容器通信的学习

跨主机Docker容器通信的学习

时间:2022-11-06 20:57:33浏览次数:82  
标签:容器 xxxx -- 主机 consul host run Docker docker

背景

骨折在家找自己的人比较少.
又因为出不去也没法做运动,就不如将之前没学习深入的地方学习下
先是进行Docker 搭建 redis cluster的处理.
当时发现必须使用 --net=host进行.
本来想尝试进行 overlay的网咯进行搭建
当然有一个目的是验证 overlay的性能损耗
结果使用了很多招都没有成功
但是想着至少可以记录下 跨主机 容器通信. 

第一步学习consul
https://www.jb51.net/article/237838.htm

下载与安装

wget https://releases.hashicorp.com/consul/1.13.3/consul_1.13.3_linux_amd64.zip
unzip consul_1.13.3_linux_amd64.zip
scp consul /usr/bin/
第一台机器执行
docker run -d --network host -h consul01 --name=consul01  --restart=always -e CONSUL_BIND_INTERFACE=ens192  harbor.xxxx.online/xxxx/consul
第台机器执行
docker run -d --network host -h consul02 --name=consul02  --restart=always -e CONSUL_BIND_INTERFACE=ens192  harbor.xxxx.online/xxxx/consul

修改 Docker 与consul通信

  • 第一台机器的修改
  • 注意需要修改 docker 的 /usr/lib/systemd/system/docker.service 配置文件
ExecStart=/usr/bin/dockerd  -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --cluster-store consul://10.110.139.194:8500 --cluster-advertise ens192:2376
  • 另外一台机器的修改
ExecStart=/usr/bin/dockerd  -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --cluster-store consul://10.110.139.194:8500 --cluster-advertise ens192:2376
  • 注意 还需要增加几个条件
--iptables=false \
--live-restore=false \
  • 注意需要重启
    systemctl daemon-reload && systemctl restart docker

创建consul的简单集群

主要命令如下:
consul01 节点不需要做任何操作可以进行查看
consul operator  raft list-peers
另外一个机器执行命令就可以加入
但是我搞不明白谁是主谁是从.
consul join 10.110.139.94
然后再查看一下 list 就有了. 
 consul operator  raft list-peers
Node      ID                                    Address              State     Voter  RaftProtocol
consul02  2edd71b2-85dc-6c25-0000-5af80e10318e  10.110.139.196:8300  leader    true   3
consul01  59e32106-916c-bafc-7d5d-19f19679ac92  10.110.139.194:8300  follower  false  3

创建overlay的网卡

docker network create -d overlay multi_host

基于Kylin银河麒麟的镜像进行地址连通性检查

分别再两台机器上面执行命令:
docker run -it --net=multi_host harbor.xxxx.online/xxxx/kylinv10sp2:withFonts /bin/bash
然后执行
ip addr
然后可以验证可以互相ping同.

Redis Cluster的验证

我用了很多招,发现不行...

标签:容器,xxxx,--,主机,consul,host,run,Docker,docker
From: https://www.cnblogs.com/jinanxiaolaohu/p/16863904.html

相关文章