基于consul实现docker跨主机网络通信
前言
- IP:
- 192.168.0.10
 - 192.168.0.11
 
 - 系统版本:ubuntu 20.04
 - consul版本:1.11.1 官网下载地址: https://www.consul.io/downloads
 - docker版本:18.06.3
 
注意:
- linux内核版本需要3.12+
 - docker主机名不能相同
 
步骤
- 下载consul的二进制包并启动
 
nohup /home/web/consul/bin/consul agent -server -bootstrap -ui -data-dir /home/web/consul/data -client=192.168.0.10 -bind=192.168.0.10 > /home/web/consul/log/consul.log 2>&1 &
- 配置docker守护进程链接consul。修改docker.service文件
 
# --cluster-store的地址为consul服务的IP
# --cluster-advertise的地址为docker主机的IP
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 --cluster-store consul://192.168.0.10:8500 --cluster-advertise=192.168.0.10:2375
- 创建overlay网络
 
docker network create -d overlay multi_host
- 创建测试容器
 
docker run -it --rm --net=multi_host busybox:latest
- 在容器中互ping
 
基于consul实现docker跨主机网络通信的更多相关文章
- 基于Ceph分布式集群实现docker跨主机共享数据卷
		
上篇文章介绍了如何使用docker部署Ceph分布式存储集群,本篇在此基础之上,介绍如何基于Ceph分布式存储集群实现docker跨主机共享数据卷. 1.环境准备 在原来的环境基础之上,新增一台cen ...
 - Docker跨主机网络——overlay
		
前言 在Docker网络--单host网络一文中,我为大家总结了Docker的单机网络相关知识和操作,单机网络比较容易.本文我为大家总结Docker跨主机通信相关知识.同样本文大部分内容以CloudM ...
 - Docker跨主机网络实践
		
Docker使用中网络管理是最麻烦的,在项目初始化前期就需要进行合理的规划,如果在比较理想的单主机的网络通信是比较简单的,但如果涉及到跨主机的网络就需要使用docker自带的overlay netwo ...
 - docker 实践十一:docker 跨主机通讯
		
在上一篇了解了关于 docker 的网络模型后,本篇就基于上一篇的基础来实现 docker 的跨主机通信. 注:环境为 CentOS7,docker 19.03. 本篇会尝试使用几种不同的方式来实现跨 ...
 - Docker 跨主机网络方案分析
		
PS:文章首发公众号,欢迎大家关注我的公众号:aCloudDeveloper,专注技术分享,努力打造干货分享平台,二维码在文末可以扫,谢谢大家. 上篇文章介绍了容器网络的单主机网络,本文将进一步介绍多 ...
 - Docker跨主机通信(九)--技术流ken
		
容器网络 在前面的博客中已经详细讲解了几种网络方案: none, host, bridge,user-defined.但是他们只是解决了单个主机间的容器的通信问题,并不能实现多个主机容器之间的通信.本 ...
 - Docker跨主机网络解决方案
		
前言:前面的部分一直都是单机跑docker,但实际生产环境不可能只用一台来跑.肯定会用到多台,因为他们都是内部私有ip,那么多台主机之间的容器如何通信?这个是个很头疼的问题!目前主流几种方法如下:1. ...
 - docker 跨主机网络:overlay 简介
		
简介 docker 在早前的时候没有考虑跨主机的容器通信,这个特性直到 docker 1.9 才出现.在此之前,如果希望位于不同主机的容器能够通信,一般有几种方法: 使用端口映射:直接把容器的服务端口 ...
 - Docker 跨主机网络
		
Docker提供两种原生的跨主机网络: Overlay 和 Macvlan libnetwork & CNM libnetwork 是 docker 容器网络库,最核心的内容是其定义的 C ...
 - Docker 跨主机网络 overlay(十六)
		
目录 一.跨主机网络概述 二.准备 overlay 环境 1.环境描述 2.创建 consul 3.修改 docker 配置文件 4.准备就绪 三.创建 overlay 网络 1.在 host1 中创 ...
 
随机推荐
- Golang for循环遍历小坑
			
一.for循环 循环:让程序多次执行相同的代码块for循环是Go语言中唯一一个循环结构for循环经典语法先执行表达式1执行表达式2判断是否成立,如果成立执行循环体循环体执行完成后,执行表达式3再次执行 ...
 - 2022-08-19:以下go语言代码输出什么?A:equal;B:not equal;C:不确定。 package main import ( “fmt“ “reflect“ )
			
2022-08-19:以下go语言代码输出什么?A:equal:B:not equal:C:不确定. package main import ( "fmt" "refle ...
 - 2021-12-27:给定一个字符串str,和一个正数k, str子序列的字符种数必须是k种,返回有多少子序列满足这个条件。 已知str中都是小写字母, 原始是取mod, 本节在尝试上,最难的, 搞出
			
2021-12-27:给定一个字符串str,和一个正数k, str子序列的字符种数必须是k种,返回有多少子序列满足这个条件. 已知str中都是小写字母, 原始是取mod, 本节在尝试上,最难的, 搞出 ...
 - Python安装部署 - virtualenv虚拟环境配置(Windows)
			
Python安装部署 - virtualenv虚拟环境 目录 Python安装部署 - virtualenv虚拟环境 前言 安装virtualenv 搭建虚拟环境 搭建虚拟环境指定路径 PyCharm ...
 - drf——全局处理异常、接口文档、jwt介绍、based64编码与解码
			
全局异常处理原理 # 对于前端来讲,后端即便报错,也要返回统一的格式,前端便于处理 {code:999,msg:'系统异常,请联系系统管理员'} # 只要三大认证,视图类的方法出了异常,都会执行一个函 ...
 - NeoVim 学习笔记
			
NeoVim 学习笔记 这篇学习笔记将用于记录本人在学习使用 NeoVim 编辑器过程中所编写的学习心得与代码.该笔记将会存放在https://github.com/owlman/study_note ...
 - K8s Pod状态与容器探针
			
1.pod的调度流程及常见状态 1.1.pod的调度流程 Pod创建过程如上图所示,首先用户向apiserver发送创建pod的请求,apiserver收到用于创建pod请求后,对应会对该用户身份信息 ...
 - Java关键字break、continue 、return的区别,嵌套循环,数组的概念以及数组案例
			
一.关键字 break.continue .return的区别 1.break : 用于在switch..case中放置语句块穿透,  用于跳出循环 // 从1-100 遇到7的倍数 break f ...
 - 杭电多校第二场 DOS Card
			
杭电多校第二场 DOS Card 评价一下这道题:我写过最爽的线段树题. 这道题真的非常令人身心愉悦,非常厉害的一道线段树入门题.我写这个一次调试都没有,过了样例就交了就过了,一切都是行云流水. 这道 ...
 - MQ系列12:如何保证消息顺序性
			
MQ系列1:消息中间件执行原理 MQ系列2:消息中间件的技术选型 MQ系列3:RocketMQ 架构分析 MQ系列4:NameServer 原理解析 MQ系列5:RocketMQ消息的发送模式 MQ系 ...