Consul 使用 Raft 一致性算法来提供确定的写入机制

  • 键值存储系统
  • 服务分类系统

7.2.1 构建 Consul 镜像

  1. 目录

image.png

  1. Dockerfile

image.png
image.png

端口用途:

image.png

DNS 怎么用的?

  1. 构建镜像
  1. $ sudo docker build -t="jarmtur01/consul" .

7.2.2 在本地测试 Consul 容器

  1. 先单独运行一个 consul

image.png

7.2.3 使用 Docker 运行 Consul 集群

  1. 拉取镜像

image.png

  1. 获取 larry 服务器的 ip

image.png

  1. 获取 curly 和 moe 服务器的 ip

image.png

image.png

  1. 告诉 curly 和 moe 服务器集群所在 ip (larry)

image.png

  1. 配置每台服务器上 Docker 守护进程的网络配置
    1. 设置 Docker 守护进程的 DNS 查找设置

image.png

b. 获取 docker0 的 IP 地址

image.png

c. 更改每台服务器的 /etc/default/docker 文件

image.png

d. 重启 Docker 守护进程

7.2.4 启动具有自启动功能的 Consul 节点

image.png

7.2.5 启动其余节点

  1. 启动 curly

image.png

  1. 启动 moe

image.png

  1. 测试 DNS 服务

image.png
image.png

7.2.6 配合 Consul, 在 Docker 里运行一个分布式服务

1. 构建分布式应用

  1. 目录

image.png

  1. Dockerfile

image.png

2. 构建分布式客户端

  1. 目录

image.png

  1. Dockerfile

image.png

  1. 构建
  1. $ sudo docker build -t="jamtur01/distributed_client" .

3. 启动分布式应用

image.png

image.png

4. 启动分布式应用客户端

image.png