docker-compose启动consul
使用docker-compose搭建consul集群环境
consul是一个集群环境,用来管理微服务架构下面的服务发现和配置管理功能。
这篇文章是一个基础步骤如何搭建consul的docker集群环境。
我们使用docker-compose来搭建如下的consul集群环境:
- 集群包含三个server:node1, node2, node3
- 集群包含一个client:node4;并且在client上提供web UI访问服务。
编辑docker-compose.yaml文件
version: '2'
networks:
byfn:
services:
consul1:
image: consul
container_name: node1
command: agent -server -bootstrap-expect=3 -node=node1 -bind=0.0.0.0 -client=0.0.0.0 -datacenter=dc1
networks:
- byfn
consul2:
image: consul
container_name: node2
command: agent -server -retry-join=node1 -node=node2 -bind=0.0.0.0 -client=0.0.0.0 -datacenter=dc1
depends_on:
- consul1
networks:
- byfn
consul3:
image: consul
container_name: node3
command: agent -server -retry-join=node1 -node=node3 -bind=0.0.0.0 -client=0.0.0.0 -datacenter=dc1
depends_on:
- consul1
networks:
- byfn
consul4:
image: consul
container_name: node4
command: agent -retry-join=node1 -node=ndoe4 -bind=0.0.0.0 -client=0.0.0.0 -datacenter=dc1 -ui
ports:
- 8500:8500
depends_on:
- consul2
- consul3
networks:
- byfn
启动服务
docker-compose up -d
# docker exec -t node1 consul members