docker compose与docker consul介绍

compose

compose概述

1、Docker Compose的前身是Fig,台是一个定义及运行多个Docker容器的工具。
2、使用Docker Compose不再需要使用Shell脚本来启动容器。
3、Docker Compose非常适合组合使用多个容器进行开发的场景。
4、compose通常和consul一起使用。

compose容器编排

compose通过YAML文件对容器进行编排。
YAML是一种标记语言很直观的数据序列化格式。
文件格式及编写注意事项:
1、不支持制表符tab键缩进,需要使用空格缩进
2、通常开头缩进2个空格
3、字符后缩进1个空格,如冒号、逗号、横杆
4、用#号注释
5、如果包含特殊字符用单引号引起来
6、布尔值必须用引号括起来

compose常用字段

compose创建容器配置文件时可以写入以下字段对容器进行配置。

字段描述
build dockerfile context指定Dockerfile文件名构建镜像上下文路径
image指定镜像
command执行命令,覆盖默认命令
container name指定容器名称,由于容器名称是唯一的,如果指定自定义名称,则无法scale
deploy指定部署和运行服务相关配置,只能在Swarm模式使用
environment添加环境变量
networks加入网络
ports暴露容器端口,与-p相同,但端口不能低于60
volumes挂载宿主机路径或命令卷
restart重启策略,默认no,always,no-failure,unless-stoped
hostname容器主机名

compose常用命令

字段描述
build重新构建服务
ps列出容器
up创建和启动容器
exec在容器里面执行命令
scale指定一个服务容器启动数量
top显示容器进程
logs查看容器输出
down删除容器、网络、数据卷和镜像
stop/start/restart停止/启动/重启服务

consul

consul概述

Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。
Consul的特性:
1、支持健康检查,允许存储键值对
2、基于Golong语言,可移植性强
3、支持ACL访问控制

consul的四个组件

consul server:工作在后台,保持整个服务的运行,同时会对registrator发现的后端节点服务进行注册和管理,注册后可以通过web页面看到更新项。
consul agent:当新容器注册后,向consul template发送命令时定义template使用的模板以及template对什么配置文件进行修改
consul template:定义一个配置模板,模板里面包含需要动态更新的配置内容,当接收到consul agent的指令时,动态更新服务配置。再通过reload重载服务,以达到让前端服务动态发现后端更新的容器。
consul registrator:负责发现后端新增容器并将其注册到server中

consul的工作流程

以nginx+tomcat做反向代理为例:
1、后端通过compose创建tomcat容器,被registrator发现并更新到consul server中
2、consul server对新容器进行注册,注册完成后可以通过web页面查看注册信息
3、consul agent发现这些新注册的容器后,对consul template发出指令,告诉template对nginx的子配置文件通过定义好的反向代理配置模板进行修改。
4、template通过server的8500端口获取后端tomcat的ip信息等,然后将其写入前端nginx的子配置文件中
5、nginx在配置文件中通过include关联template配置的子配置文件获取反向代理的ip地址,然后通过reload重载更新服务配置。
到此,nginx就能将访问转发到后端tomcat。
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值