背景

骨折在家找自己的人比较少.
又因为出不去也没法做运动,就不如将之前没学习深入的地方学习下
先是进行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的验证

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

跨主机Docker容器通信的学习的更多相关文章

  1. 使用weave实现跨主机docker容器互联

    关于weave的原理不做细致的说明,如果想了解weave可以登陆官网:https://www.weave.works/ In this post,使用阿里云3台ECS服务器进行weave搭建,并测试搭 ...

  2. Docker:使用Ambassador进行跨主机间容器通信

    转载请注明出处:点我 由于Docker自身的网络的原因,想要在多主机间的容器之间进行通信是比较麻烦的事情.可以利用Ambassador容器来实现这一功能. 基本原理: 利用Ambassador来实现主 ...

  3. 使用openvswitch实现跨主机docker容器互联

    安装openvswitch的步骤请参考上一篇文章:http://www.cnblogs.com/xkops/p/5568167.html 环境:192.168.3.201 node1192.168.3 ...

  4. 多主机Docker容器的VLAN划分

    原文发表于cu:2016-06-06 参考文档: Docker网络的4种模式,pipework/ovs的简单使用等:http://www.infoq.com/cn/articles/docker-ne ...

  5. Docker容器基础知识学习

    Docker作为操作系统层面的轻量级的虚拟化技术,凭借简易的使用.快速的部署以及灵活敏捷的集成等优势,迅速发展目前最为火热的技术. 1.云计算服务是一种资源管理的资源服务,该模式可以实现随时随地.便捷 ...

  6. overlay实现容器跨主机通信

    本节内容: Docker容器跨主机通信方案 环境信息 升级内核 安装docker 防火墙设置和开启内核转发 安装启动consul 启动Docker 创建overlay network 创建容器 测试容 ...

  7. centos7下安装docker(15.1跨主机网络)

    之前学习了单个host上的网络,我们知道单个host上的网络有:none,host,bridge和joined,他们解决了单个host上面的容器通信的问题:接下来我们讨论跨主机间容器通信的方案 跨主机 ...

  8. docker 跨主机网络:overlay 简介

    简介 docker 在早前的时候没有考虑跨主机的容器通信,这个特性直到 docker 1.9 才出现.在此之前,如果希望位于不同主机的容器能够通信,一般有几种方法: 使用端口映射:直接把容器的服务端口 ...

  9. Docker容器跨主机通信--overlay网络

    一.Docker主机间容器通信的解决方案 Docker网络驱动 Overlay: 基于VXLAN封装实现Docker原生Overlay网络 Macvlan: Docker主机网卡接口逻辑上分为多个子接 ...

  10. 跨主机网络概述 - 每天5分钟玩转 Docker 容器技术(48)

    前面已经学习了 Docker 的几种网络方案:none.host.bridge 和 joined 容器,它们解决了单个 Docker Host 内容器通信的问题.本章的重点则是讨论跨主机容器间通信的方 ...

随机推荐

  1. 华为云MVP朱有鹏:做IoT开发乐趣无穷,年轻开发者更要厚积薄发

    [摘要] 可以预见的是,AIoT会是未来一段时间主流的技术趋势方向,当前也有不少科技巨头涌入其中,蓄势待发,而5G的到来加速了AIoT产业的扩张速度,所以如华为云MVP朱有鹏所说,年轻的开发者应该要拥 ...

  2. MyBatis中SQL语句优化小结

    摘要:MyBatis 作为一款优秀的持久层框架,它支持自定义SQL.存储过程以及高级映射. MyBatis 作为一款优秀的持久层框架,它支持自定义SQL.存储过程以及高级映射.它免除了几乎所有的 JD ...

  3. 百万奖池角逐,华为云IoT边缘带你看懂“边缘计算开发者大赛”

    摘要:2022年9月1日,第二届边缘计算开发者大赛正式启动. 2022年9月1日,第二届边缘计算开发者大赛正式启动! 本届大赛由华为云参与承办,中国信息通信研究院.工业互联网产业联盟.边缘计算产业联盟 ...

  4. Git工作流中常见的三种分支策略:GitFlow、GitHubFlow和GitLabFlow

    摘要:聊一聊Git中的工作流--分支策略. 本文分享自华为云社区<Git工作流中常见的三种分支策略:GitFlow.GitHubFlow以及GitLabFlow>,原文作者:敏捷的小智. ...

  5. 火山引擎DataTester:无需研发人力,即刻开启企业A/B实验

    近日,火山引擎A/B测试平台-- DataTester 对产品内A/B实验的"可视化编辑器"进行了新的升级,对交互.预览.Xpath的层次结构视图等能力均做了优化.   据介绍,火 ...

  6. cxf 动态调用 WebService No compiler detected, make sure you are running on top of a JDK instead of a JRE

    WebService cxf No compiler detected, make sure you are running on top of a JDK instead of a JRE [202 ...

  7. 0x68 - C题:車的放置

    链接:https://ac.nowcoder.com/acm/contest/1062/C 题目描述 给定一个N行M列的棋盘,已知某些格子禁止放置. 问棋盘上最多能放多少个不能互相攻击的車. 車放在格 ...

  8. vivo 调用链 Agent 原理及实践

    一.项目背景 2017年,vivo互联网研发团队认为调用链系统对实际业务具有较大的价值,于是开始了研发工作.3年的时间,调用链系统整体框架不断演进--本文将介绍vivo调用链系统 Agent 技术原理 ...

  9. 小白学标准库之 flag

    Go 提供了解析命令行参数的 flag 包,本文旨在介绍 flag 的使用及内部实现等. 1. flag 包使用及实现 type PropertyOfPod struct { Namespace *s ...

  10. Go-发送邮件

    1. 邮件 - mail From -- 发送者(这封邮件由谁进行发送的,一般都是该邮件的作者) To -- 邮件的接收者(发送邮件的人希望谁能收到邮件) Subject -- 邮件的主题(类似文章的 ...