文章目录
一、docker-cpmpose
1、docker-cpmpose是什么?
- docker compose 的前身是Fig,它是一个定义及运行多个docker容器的工具
- 使用docker compose不需要再使用shell脚本来启动容器
- docker compose非常适合组合使用多个容器进行开发的场景
2、docker-compose文件结构
(1)docker-compose.yml
(2)yaml
yaml语言的设计目标,就是方便人类读写,它实质上是种通用化的数据串行化格式 基本语法如下
不支持制表符tab键缩进,使用空格缩进
通常开头缩进2个空格
字符后缩进1个空格,如冒号、逗号、横杠
如果包含特殊字符用单引号引起来#表示注释布尔值必须用引号括起来
支持的数据结构有三种
对象:键值对的集合,又称为映射/哈希/字典
数组:一组按次序排列的值,又称为序列/列表
纯量:单个的、不可再分的值
二、使用docker-compose构建nginx镜像
cd /opt
mkdir docker-compose-nginx
mv nginx ./docker-compose-nginx
vim docker-compose.yml
version: '3'
services:
nginx:
hostname: nginx
build:
context: ./nginx
dockerfile: Dockerfile
ports:
- 1666:80
- 1888:443
networks:
- abc
volumes:
- ./wwwroot:/usr/local/nginx/html
networks:
abc:
mkdir wwwroot
vim /wwwroot/index.html
<h1>this is test web</h1>
docker-compose -f docker-compose.yum up -d
三、 Consul
1、Consul概述
(1)Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置
(2)Consul的特性
支持健康检查,允许存储键值对基于Golong语言,可移植性强支持ACL访问控制
(3)与Docker等轻量级容器可无缝配合
(4)做服务发现的框架常用的有:
zookeeper
eureka
etcd
consul
2、服务部署
实验环境:
服务器IP | 安装软件与服务 |
---|---|
服务器: 192.168.100.100 | Docker-ce、Compose 3、Consul、Consul-template |
服务器: 192.168.100.10 | Docker-ce、registrator |
(1)部署consul(服务器: 192.168.100.100)
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
mkdir /root/consul
cd /root/consul
#将consul.0.9.2_linux_amd64.