Docker部署Consul配置过程解析

执行命令

docker run -d --name consul -p 8500:8500 consul

端口说明

https://www.consul.io/docs/install/ports.html

挂载说明

/consul/data:持久化数据存储
/consul/config:配置文件

Consul 配置

https://www.consul.io/docs/agent/options.html

注意:浏览器打开 http://公网ip:8500

集群部署

启动4个Consul Agent,3个Server(会选举出一个leader),1个Client

#启动第1个Server节点,集群要求要有3个Server,将容器8500端口映射到主机8900端口,同时开启管理界面
docker run -d --name=consul1 -p 8900:8500 -e CONSUL_BIND_INTERFACE=eth0 consul agent --server=true --bootstrap-expect=3 --client=0.0.0.0 -ui

#启动第2个Server节点,并加入集群
docker run -d --name=consul2 -e CONSUL_BIND_INTERFACE=eth0 consul agent --server=true --client=0.0.0.0 --join 172.17.0.2

#启动第3个Server节点,并加入集群
docker run -d --name=consul3 -e CONSUL_BIND_INTERFACE=eth0 consul agent --server=true --client=0.0.0.0 --join 172.17.0.2

#启动第4个Client节点,并加入集群
docker run -d --name=consul4 -e CONSUL_BIND_INTERFACE=eth0 consul agent --server=false --client=0.0.0.0 --join 172.17.0.2

第1个启动容器的IP一般是172.17.0.2,后边启动的几个容器IP会排着来:172.17.0.3、172.17.0.4、172.17.0.5。

这些Consul节点在Docker的容器内是互通的,他们通过桥接的模式通信。但是如果主机要访问容器内的网络,需要做端口映射。在启动第一个容器时,将Consul的8500端口映射到了主机的8900端口,这样就可以方便的通过主机的浏览器查看集群信息。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Docker 部署单机版 Pulsar 和集群架构 Redis(开发神器)的方法

    一.前言: 现在互联网的技术架构中,不断出现各种各样的中间件,例如 MQ.Redis.Zookeeper,这些中间件在部署的时候一般都是以主从架构或者集群的架构来部署,公司一般都会在开发环境.测试环境和生产环境各部署一套. 当我们开发的时候,一般就会连着开发环境.但是呢,一般公司的开发环境都只能在内网使用,当我们回家了,除非公司提供有 VPN,不然就没办法使用了.有时候我们是有VPN了,但是开发起来还是很不方便.例如我们现在的 MQ 中间件使用的是 Pulsar,但是 Pulsar 的 tena

  • Docker镜像的制作,上传,拉取和部署操作(利用阿里云)

    由于学习过程中发现push镜像的时候一直超时,所以直接把阿里云的Docker仓库申请一个(管理中心–>创建镜像仓库–>我的是华东2绑定github账户即可),搞定!以后push就用这个仓库,pull的时候使用加速器,注意切换根据使用场景进行切换,dockerhub丢弃--记录了一下操作流程: 1.创建命名空间hhu(以当前学校为单位,只能小写,每个账号只能创建5个),创建菜鸟Docker镜像仓库docker1(绑定github中某个仓库,个人可以随意,这个仓库镜像就像是一个app,可以不断的更

  • Docker内网穿透frp部署实现过程解析

    1.创建配置文件目录 cd /home目录 mkdir frp 最后的目录结构: 2.创建服务端配置文件 vi frps.ini [common] bind_port = 17000 token = myToken vhost_http_port = 10080 vhost_https_port = 10443 dashboard_port = 17500 dashboard_user = admin dashboard_pwd = admin tcp_mux = true max_pool_c

  • Docker容器上用DockerFile部署多个tomcat服务的步骤

    1. [admin@JD ~]$ cd opt #进入根目录下的opt 里 2. [admin@JD opt]$ mkdir web #创建Web 文件夹 3. [admin@JD web]$ cd web/ #进入web文件夹 4. [admin@JD web]$ touch Dockerfile #创建一个Dockerfile文件夹 名字不能错必须是这个名字否者检测不到 5. 利用三方工具将 tomcat 和 jdk的 上传到Web文件夹 6. [admin@JD web]$ vim Doc

  • Docker部署nGrinder性能测试平台过程解析

    什么是nGrinder? nGrinder是用于压力测试的平台,使您可以同时执行脚本创建,测试执行,监视和结果报告生成器.开源nGrinder通过消除不便并提供集成环境,提供了进行压力测试的简便方法.它是根据Apache许可版本2.0许可的,是基于Grinder的开源的web性能测试平台,由韩国最大互联网公司NHN公司的开发团队进行了重新设计和完善. http://naver.github.io/ngrinder/ nGrinder由三个组件组成 controller:一个Web应用程序,使性能

  • docker安装tomcat并部署Springboot项目war包的方法

    说来也简单,直接上教程吧,博主 1.首先在启动docker service docker start 2.拉取tomcat镜像. docker pull tomcat:8-jdk8 如果不加后面的8-jdk8  标签的话,会默认拉取latest,也就是最新的官方版本 3.安装完成后,做作容器,并启动tomcat docker run --name tomcat -p 8080:8080 如果正常安装后访问ip+端口出现404情况,进入tomcat目录,把原有webapps目录删除,并把webap

  • Docker 部署Mysql 服务和Redis 服务的方法

    Docker 部署Mysql 服务的方法 1. 拉取Mysql 5.6最新版本镜像 sudo docker pull mysql:5.6 2. 查看Mysql 镜像 sudo docker images 3. 在home目录下创建需要映射的目录: mkdir -p /home/computer/project/mysql/{conf,log,data} 4. 运行容器 duso docker run -p 53603:3306 --name iot-mysql \ -v /home/comput

  • docker+gitlab+gitlab-runner部署详解

    环境 服务端:centos7 客户端:window 在centos7上部署docker+gitlab+gitlab-runner,win10利用ssh连接,开发人员只需提交代码,就可以进行项目文件上传,打包镜像,发布运行测试 一.centos7上安装docker和docker-compose 安装docker: 1.Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker . 通过uname -r命令查看你当前的内核

  • Docker部署Consul配置过程解析

    执行命令 docker run -d --name consul -p 8500:8500 consul 端口说明 https://www.consul.io/docs/install/ports.html 挂载说明 /consul/data:持久化数据存储 /consul/config:配置文件 Consul 配置 https://www.consul.io/docs/agent/options.html 注意:浏览器打开 http://公网ip:8500 集群部署 启动4个Consul Ag

  • 基于docker安装mariadb配置过程解析

    一.安装通过dockerhub搜索要安装的mariadb版本.执行docker pull将镜像拉取到本地. 启动mariadb docker run --name mariadb-prod -p 3306:3306 -e MYSQL_ROOT_PASSWORD=QBdata@1017 -v /data/software_docker/mariadb_test/data:/var/lib/mysql -d mariadb:10.5.6 --name启动容器设置容器名称为mariadb-prod -

  • 使用systemd部署服务的过程解析

    目录 1.前言 2.如何部署服务 2.1.后台进程方式启动 2.2.使用systemd方式启动 2.2.1.创建service文件 2.2.2.启动服务 3.如何自动启动 3.1.自动启动文件 3.1.1.rc.local 3.1.2.rc.d 3.2.systemd 1.前言 通常,我们在开发过程中,难免需要去部署我们的服务,但是,我们应该如何去做呢?如果主机重启了,服务怎么自己启动呢?可能你的心里已经有了几种不同的答案,接下来我们就一起看看吧. 2.如何部署服务 假设,我们现在有一个pyth

  • 在Windows系统下安装docker窗口的配置过程

    前言 目前对docker支持最好的是Ubuntu系统,docker不支持在windows上运行,必须借助docker-machine.docker提供了toolbox用于在windows和mac平台安装docker. 工具箱包括: docker machine Docker Engine Kitematic docker命令行运行环境 Oracle VM VirtualBox 安装之前需要检查BIOS中虚拟化的设置是否已打开,参考此页面 1.下载安装文件 https://www.docker.c

  • mybatis plus代码生成器配置过程解析

    这篇文章主要介绍了mybatis plus代码生成器配置过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 最近在玩项目,发现自己写严重浪费时间~于是想到了代码生成器,之前用过一次的mybatis-plus,再重新实现了一下 确保修改好对应的配置即可 依赖: <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boo

  • Spring AOP AspectJ使用及配置过程解析

    这篇文章主要介绍了Spring AOP AspectJ使用及配置过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 AspectJ是一个基于Java语言的AOP框架,Spring2.0以后新增了对AspectJ切点表达式支持.因为Spring1.0的时候Aspectj还未出现; AspectJ1.5中新增了对注解的支持,允许直接在Bean类中定义切面.新版本的Spring框架建 议我们都使用AspectJ方式来开发AOP,并提供了非常灵活且

  • JavaWeb工程web.xml基本配置过程解析

    这篇文章主要介绍了JavaWeb工程web.xml基本配置过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.理论准备 先说下我记得xml规则,必须有且只有一个根节点,大小写敏感,标签不嵌套,必须配对. web.xml是不是必须的呢?不是的,只要你不用到里面的配置信息就好了,不过在大型web工程下使用该文件是很方便的,若是没有也会很复杂. 那么web.xml能做的所有事情都有那些?其实,web.xml的模式(Schema)文件中定义了多

  • Java加载property文件配置过程解析

    这篇文章主要介绍了java加载property文件配置过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1 properties简介: properties是一种文本文件,内容格式为: key = value #单行注释 适合作为简单配置文件使用,通常作为参数配置.国际化资源文件使用. 对于复杂的配置,就需要使用XML.YML.JSON等了 2 java加载Properties: java加载properties主要通过2个util包下的

  • CentOS7使用docker部署Apollo配置中心的实现

    Apollo开源地址: https://github.com/ctripcorp/apollo 第一步 将项目clone到本地,然后在github的releases页面中下载三个zip文件 本文中重点讲解截止2019年1月最新的1.2.0版本的部署方法 第二步 打开clone到本地的项目,目录结构如下 第三步 在此目录下创建docker-compose.yml文件,写入内容: version: "3" services: apollo-configservice: ##容器服务名 co

  • 如何基于SpringBoot部署外部Tomcat过程解析

    这篇文章主要介绍了SpringBoot以war包形式部署到外部Tomcat过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 SpringBoot 项目打包时能打成 .jar 与 .war包文件,.jar使用 java -jar xx.jar 就可以启动,而 .war 可以部署到tomcat的 webapps 中,随tomcat的启动而启动. SpringBoot 本身是内置tomcat的,如果想部署到外部tomcat, 就要做一些改变.

随机推荐