Docker搭建consul集群

  • docker相关命令

# 启动docker服务
service docker start 
#显示所有容器(含未运行的)
sudo docker ps -a
# 显示运行的容器状态
sudo docker ps

docker搭建consul集群

  1. 在docker上安装consul(默认安装最新版本)
docker pull consul
  1. 启动第一个consul服务:consul1
docker run --name consul1 -d -p 8500:8500 -p 8300:8300 -p 8301:8301 -p 8302:8302 -p 8600:8600 consul:1.2.2 agent -server -bootstrap-expect 2 -ui -bind=0.0.0.0 -client=0.0.0.0

8500 http 端口,用于 http 接口和 web ui
8300 server rpc 端口,同一数据中心 consul server 之间通过该端口通信
8301 serf lan 端口,同一数据中心 consul client 通过该端口通信
8302 serf wan 端口,不同数据中心 consul server 通过该端口通信
8600 dns 端口,用于服务发现
-bbostrap-expect 2: 集群至少两台服务器,才能选举集群leader
-ui:运行 web 控制台
-bind: 监听网口,0.0.0.0 表示所有网口,如果不指定默认为127.0.0.1,则无法和容器通信
-client : 限制某些网口可以访问

  1. 获取 consul server1 的 ip 地址
docker inspect --format '{{ .NetworkSettings.IPAddress }}' consul1

输出是:172.17.0.2

  1. 启动第二个consul服务:consul2, 并加入consul1(使用join命令)
docker run --name consul3 -d -p 8501:8500 consul agent -server -ui -bind=0.0.0.0 -client=0.0.0.0 -join 172.17.0.2
  1. 启动第三个consul服务:consul3,并加入consul1
docker run --name consul3 -d -p 8502:8500 consul agent -server -ui -bind=0.0.0.0 -client=0.0.0.0 -join 172.17.0.2
  1. 查看运行的容器(consul集群状态)
docker ps

推荐阅读更多精彩内容

  • 简介 了解 Consul Consul 是一个支持多数据中心分布式高可用的 服务发现 和 配置共享 的服务软件,由...
    菜鸟飞不动阅读 957评论 0 8
  • 一、Consul简介 Consul 是一套开源的分布式服务发现和配置管理系统,由 HashiCorp 公司用 Go...
    QIQIHAL阅读 3,951评论 0 11
  • Docker从2013年发布第一个版本以来,已经火遍全球,技术迭代也比较频繁,其周边产品和技术也越来越丰富。Doc...
    niko0598阅读 10,529评论 7 44
  • 导读:windows软件授权管理工具slmgr命令是用来查看系统的激活状态、以及密钥许可证等信息。相信不少用户都对...
    huhu咪阅读 3,387评论 1 0
  • 你陪着我的时候我 从没羡慕过任何人
    鸟人kid阅读 80评论 0 3
  • 哪里才是真正的出路 怎么做才算是 有意义的转折 人生好像一直就是在原地踏步 十几年如一日的重复 没有看到一点新颖的...
    神于天圣于地阅读 50评论 0 0