docker-compose启动consul

使用docker-compose搭建consul集群环境
consul是一个集群环境,用来管理微服务架构下面的服务发现和配置管理功能。
这篇文章是一个基础步骤如何搭建consul的docker集群环境。
我们使用docker-compose来搭建如下的consul集群环境:

  1. 集群包含三个server:node1, node2, node3
  2. 集群包含一个client:node4;并且在client上提供web UI访问服务。

编辑docker-compose.yaml文件

  1. version: '2'
  2. networks:
  3. byfn:
  4. services:
  5. consul1:
  6. image: consul
  7. container_name: node1
  8. command: agent -server -bootstrap-expect=3 -node=node1 -bind=0.0.0.0 -client=0.0.0.0 -datacenter=dc1
  9. networks:
  10. - byfn
  11. consul2:
  12. image: consul
  13. container_name: node2
  14. command: agent -server -retry-join=node1 -node=node2 -bind=0.0.0.0 -client=0.0.0.0 -datacenter=dc1
  15. depends_on:
  16. - consul1
  17. networks:
  18. - byfn
  19. consul3:
  20. image: consul
  21. container_name: node3
  22. command: agent -server -retry-join=node1 -node=node3 -bind=0.0.0.0 -client=0.0.0.0 -datacenter=dc1
  23. depends_on:
  24. - consul1
  25. networks:
  26. - byfn
  27. consul4:
  28. image: consul
  29. container_name: node4
  30. command: agent -retry-join=node1 -node=ndoe4 -bind=0.0.0.0 -client=0.0.0.0 -datacenter=dc1 -ui
  31. ports:
  32. - 8500:8500
  33. depends_on:
  34. - consul2
  35. - consul3
  36. networks:
  37. - byfn

启动服务

  1. docker-compose up -d
  2. # docker exec -t node1 consul members

http访问

http://localhost:8500