iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >Docker容器Consul部署概述
  • 512
分享到

Docker容器Consul部署概述

Docker容器Consul部署Docker Consu 2022-11-13 14:11:58 512人浏览 安东尼
摘要

目录一、Consul概述二、Consul的特性三、Consul的使用场景四、搭建consul集群(1)server部署(2)client部署(3)配置template模板自动更新(4

一、Consul概述

template 模板(更新)
reGIStrator(自动发现)
后端每构建出一个容器,会向registrator进行注册,控制consul 完成更新操作,consul会触发consul template模板进行热更新
核心机制:consul :自动发现、自动更新,为容器提供服务(添加、删除、生命周期)

二、Consul的特性

  • 支持健康检查、允许存储键值对
  • 基于Golong语言,可移植性强
  • 支持ACL访问控

三、Consul的使用场景

Consul的应用场景包括服务发现、服务隔离、服务配置:

  • 服务发现场景中consul作为注册中心,服务地址被注册到consul中以后,可以使用consul提供的dns、Http接口查询,consul支持health check。
  • 服务隔离场景中consul支持以服务为单位设置访问策略,能同时支持经典的平台和新兴的平台,支持tls证书分发,service-to-service加密。
  • 服务配置场景中consul提供key-value数据存储功能,并且能将变动迅速地通知出去,借助Consul可以实现配置共享,需要读取配置的服务可以从Consul中读取到准确的配置信息。
  • Consul可以帮助系统管理者更清晰的了解复杂系统内部的系统架构运维人员可以将Consul看成一种监控软件,也可以看成一种资产(资源)管理系统。

四、搭建consul集群

建立Consul服务

每个提供服务的节点上都要部署和运行Consul的agent

Consul agent有两种运行模式
Server
Client

Server和Client只是Consul集群层面的区分,与搭建在Cluster之上的应用服务无关

(1)server部署

mkdir /root/consul
cd consul
rz consul_0.9.2_linux_amd64.zip
unzip consul_0.9.2_linux_amd64.zip
mv consul /usr/bin

consul agent \
-server \
-bootstrap \
-ui \
-data-dir=/var/lib/consul-data \
-bind=192.168.109.11 \
-client=0.0.0.0 \
-node=consul-server01 &> /var/log/consul.log &

consul members
consul info | grep leader

(2)client部署

容器服务自动加入nginx集群:

1、安装Gliderlabs/Registrator Gliderlabs/Registrator
可检查容器运行状态自动注册,还可注销Docker容器的服务 到服务配置中心
目前支持Consul、Etcd和SkyDNS2

在192.168.184.12节点上,执行以下操作:

docker run -d \
--name=registrator \
--net=host \
-v /var/run/docker.sock:/tmp/docker.sock \
--restart=always \
gliderlabs/registrator:latest \
-ip=192.168.109.12 \
consul://192.168.109.11:8500

systemctl restart docker
docker run -itd -p:81:80 --name test-01 -h test01 Nginx
docker run -itd -p:82:80 --name test-02 -h test02 nginx
docker run -itd -p:83:80 --name test-03 -h test03 httpd
docker run -itd -p:84:80 --name test-04 -h test04 httpd

真机访问http://192.168.109.11:8500
此时应该可以发现5个服务

(3)配置template模板自动更新

Consul-Template是一个守护进程,用于实时查询Consul集群信息,并更新文件系统上任意数量的指定模板,生成配置文件,更新完成以后,可以查询Consul中的服务目录,Key、Key-values等。

cd consul/
vim nginx.ctmpl

upstream http_backend {
 {{range service "nginx"}}
  server {{.Address}}:{{.Port}};
  {{end}}
}
server {
 listen 100;
 server_name localhost 192.168.109.11;
 access_log /var/log/nginx/lic.com-access.log;
 index index.html index.PHP;
 location / {
        proxy_set_header HOST $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Client-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://http_backend;
  }
}

yum -y install GCc pcre-devel zlib-devel
rz nginx-1.12.0.tar.gz
tar zxvf nginx-1.12.0.tar.gz -C /opt
cd /opt/nginx-1.12.10

./configure --prefix=/usr/local/nginx
make && make install

vim /usr/local/nginx/conf/nginx.conf
//19行添加  include vhost/*.conf;

cd /usr/local/nginx/conf/
mkdir vhost
mkdir /var/log/nginx

/usr/local/nginx/sbin/nginx
cd /opt
rz consul-template_0.19.3_linux_amd64.zip
unzip consul-template_0.19.3_linux_amd64.zip

mv consul-template /usr/bin
consul-template -consul-addr 192.168.109.11:8500 -template "/root/consul/nginx.ctmpl:/usr/local/nginx/conf/vhost/lic.conf:/usr/local/nginx/sbin/nginx -s reload" --log-level=info

再打开另一个终端

 docker run -itd -p:85:80 --name test-05 -h test05 nginx

(4)测试访问代理服务器

http://192.168.184.11:100/

docker logs -f test-01
docker logs -f test-02
docker logs -f test-05

到此这篇关于Docker容器Consul部署概述的文章就介绍到这了,更多相关Docker Consul部署内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Docker容器Consul部署概述

本文链接: http://www.lsjlt.com/news/171813.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Docker容器Consul部署概述
    目录一、Consul概述二、Consul的特性三、Consul的使用场景四、搭建consul集群(1)server部署(2)client部署(3)配置template模板自动更新(4...
    99+
    2022-11-13
    Docker容器Consul部署 Docker Consu
  • Docker容器如何部署consul
    小编给大家分享一下Docker容器如何部署consul,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Consul简介Consul 是一个支持多数据中心分布式高可用...
    99+
    2023-06-29
  • Docker容器部署consul的详细步骤
    目录Consul简介Consul 使用场景-consul部署- 容器服务自动加入consul集群安装Gliderlabs/Registrator Gliderlabs/Re...
    99+
    2024-04-02
  • Docker容器部署Matomo
    ⭐️主要步骤:数据卷挂载 -->  创建MySQL容器 -->  创建一个带有环境变量设置的Matomo容器 docker volume create matomo_data docker run -d --name mysql ...
    99+
    2023-10-03
    docker mysql 容器
  • .Net Core部署Docker容器
    阅读本文需要一定的docker基础知识。 前置工作 首先新建一个core项目,需要注意的是在这个界面最好勾选一下docker支持: 项目创建完成以后,你会在目录中发现Dockerf...
    99+
    2024-04-02
  • Django-Docker容器化部署:
    上一章我们成功搭建了容器化的 Django 项目,用到的数据库为默认的 Sqlite。Sqlite 虽然简单易用,但是线上部署时通常会选择更高效、更可靠的数据库,比如 MySQL。 本章将在上一章的基础上,修改并构建 Docker + D...
    99+
    2023-01-31
    容器 Django Docker
  • docker容器化怎么部署
    要将应用程序容器化并部署到Docker中,可以按照以下步骤进行操作: 编写Dockerfile:创建一个Dockerfile文件...
    99+
    2023-10-27
    docker
  • 在Docker容器中部署MSSQL
    部署MSSQL需要2G内存 1.下载镜像 docker pull microsoft/mssql-server-linux 使用该命令就可以把数据库的docker镜像下载下来。 2....
    99+
    2024-04-02
  • Docker 部署 MongoDB容器的方法
    目录Docker是什么 部署1. 拉取镜像2. 查看镜像3. 运行容器4. 创建用户5. 连接 DB6. UIDocker是什么 “ Docker 是一个开源的应用容器引擎,让开发...
    99+
    2024-04-02
  • Docker部署Mysql,.Net6,Sqlserver等容器
    目录Centos8安装Docker1.更新一下yum2.安装containerd.io3.安装Docker4.启动Docker5.设置容器开机自启Mysql8.0部署1.拉取镜像2....
    99+
    2024-04-02
  • docker容器部署到云服务器
    部署到云服务器的方式有很多,其中最简单的方式是使用Docker镜像。这种方式通常是直接将Docker镜像部署到云服务器上的容器中,因此只需要将云服务器与Docker镜像文件连接即可进行部署。下面是一些常见的Docker容器部署方式: 镜...
    99+
    2023-10-26
    容器 服务器 docker
  • Docker容器下部署Git的步骤
    这篇文章主要讲解了“Docker容器下部署Git的步骤”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker容器下部署Git的步骤”吧!老办法 我实在没...
    99+
    2024-04-02
  • 在Docker容器中怎么部署MSSQL
    今天小编给大家分享一下在Docker容器中怎么部署MSSQL的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。部署MSSQL需要...
    99+
    2023-06-29
  • Docker如何部署多容器通信
    这篇文章主要介绍了Docker如何部署多容器通信的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Docker如何部署多容器通信文章都会有所收获,下面我们一起来看看吧。原因是这样的...
    99+
    2024-04-02
  • 使用Docker容器部署Vue程序
    目录一、安装Nginx二、创建Vue程序1、创建项目2、编译项目3、添加Dockerfile文件4、上传文件5、构建镜像6、运行容器一、安装Nginx 我们部署Vue程序依赖Ngin...
    99+
    2024-04-02
  • SpringBoot项目docker容器部署实现
    目录一、修改docker.service,使其暴露2375端口二、netstat -tulp查看端口情况三、添加依赖四、在idea中 Settings->Docker配置远程d...
    99+
    2024-04-02
  • 如何在docker容器中部署应用
    本篇内容介绍了“如何在docker容器中部署应用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一个简单的Hello World应用。1 Ma...
    99+
    2023-06-02
  • docker容器部署redis步骤是什么
    这篇文章主要介绍“docker容器部署redis步骤是什么”,在日常操作中,相信很多人在docker容器部署redis步骤是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”docker容器部署redis步骤...
    99+
    2023-06-21
  • 基于docker容器部署MySQL数据库
    一,概要.... 2 二,环境准备.... 3 2.1,docker部署.... 3 三,使用docker部署mysql 6 3.1、创建数据存放目录.... 6 3.2、创建bridge网络并指定IP区间.... 6 3.3、Docker...
    99+
    2023-09-06
    数据库 mysql docker 容器 运维
  • Docker如何部署Mysql,.Net6,Sqlserver等容器
    这篇文章主要介绍了Docker如何部署Mysql,.Net6,Sqlserver等容器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Centos8安装Docker1.更新一下...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作