Docker部署Consul(一)

介绍

该系列文章会出十期,总结自己学习Consul以及在项目中Consul的应用,该系列已实战为主,中间会介绍项目中使用的技术栈及技术要点,希望能够帮助到大家,中间出现的错误欢迎大家指正。

准备开发环境

  • 阿里云服务器,操作系统Centos6.5
  • 默认你本地环境已经部署Docker服务
  • Consul镜像使用Docker服务中提供的最新版本(latest)

操作步骤

Docker pull Consul镜像
docker pull consul
Using default tag: 1.8.4
latest: Pulling from library/consul
Digest: sha256:36fd1f8ca4d702c7dce0d58662893245ff417c863ba38226e73be7f722d0efcb
Status: Image is up to date for consul:latest
docker.io/library/consul:1.8.4

先启动一个单机版Consul服务,启动一个命名为 consul_server_1 的 Docker 容器来运行 Consul ,启动的 Consul 的版本是 1.8.4CONSUL_BIND_INTERFACE 设置为默认桥接网络 eth0 并且主机上不显示任何服务

$ docker run -d -p 8500:8500 -v /data/consul:/consul/data -e CONSUL_BIND_INTERFACE='eth0' --name=consul_server_1 consul:1.8.4 agent -server -bootstrap -ui -node=1 -client='0.0.0.0'
  9e86237f42d3c2cefab5de0dc9888d2bd4ed3e7a1aa2ca8e1ebc54cef9ea47b7

提示:/consul/data是 Consul 持久化地方,如果需要持久化那 Dooker 启动时候需要给它指定一个数据卷 -v /data/consul:/consul/data;

Consul 命令简单介绍
  • agent : 表示启动 Agent 进程。
  • server:表示启动 Consul Server 模式。
  • client:表示启动 Consul Cilent 模式。
  • bootstrap:表示这个节点是 Server-Leader ,每个数据中心只能运行一台服务器。技术角度上讲 Leader 是通过 Raft 算法选举的,但是集群第一次启动时需要一个引导 Leader,在引导群集后,建议不要使用此标志。
  • ui:表示启动 Web UI 管理器,默认开放端口 8500,所以上面使用 Docker 命令把 8500 端口对外开放。
  • node:节点的名称,集群中必须是唯一的。
  • client:表示 Consul 将绑定客户端接口的地址,0.0.0.0 表示所有地址都可以访问。
  • join:表示加入到某一个集群中去。 如:-json=192.168.1.23
Consul web管理

上面命令已经启动了 Consul 和 Web 管理器,我们现在打开 Web 管理器来看一下是否启动成功。通过浏览器浏览 Http://{serverIp}:8500

web 管理

上图显示已经启动成功了,启动了一个节点名称为 -node=1 的节点 ,并且可以通过管理器管理 Node 节点、Key/Value 功能等。

你可能感兴趣的:(Docker部署Consul(一))