# 创建并启动容器,默认是以开发模式启动,数据保存在内存中 # docker run -d --name=consul -e CONSUL_BIND_INTERFACE=eth0 consul:1.7.3
# 查看容器的运行状态 # docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7c43babcc760 consul:1.7.3 "docker-entrypoint.s…" 38 seconds ago Up 37 seconds 8300-8302/tcp, 8500/tcp, 8301-8302/udp, 8600/tcp, 8600/udp consul
Docker 安装 Consul(集群)
下面将演示在开发模式下,如何创建拥有 3 个节点的 Consul 集群,数据默认保存在内存中,开发模式下可以直接通过 8500 端口访问 Consul 的 WebUI 界面。
# 查看容器的运行状态 # docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1ac5832f79f4 consul:1.7.3 "docker-entrypoint.s…" 31 seconds ago Up 30 seconds 8300-8302/tcp, 8500-8500/tcp, 8301-8302/udp, 8600/tcp, 8600/udp consul-node3 533b0f12877a consul:1.7.3 "docker-entrypoint.s…" 56 seconds ago Up 55 seconds 8300-8302/tcp, 8500-8500/tcp, 8301-8302/udp, 8600/tcp, 8600/udp consul-node2 d25f90dffa94 consul:1.7.3 "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 8300-8302/tcp, 8500-8500/tcp, 8301-8302/udp, 8600/tcp, 8600/udp consul-node1
# 在第一个容器中运行consul命令来查询集群中的所有成员 # dockerexec -t consul-node1 consul members Node Address Status Type Build Protocol DC Segment 1ac5832f79f4 172.17.0.5:8301 alive server 1.7.3 2 dc1 <all> 533b0f12877a 172.17.0.4:8301 alive server 1.7.3 2 dc1 <all> d25f90dffa94 172.17.0.3:8301 alive server 1.7.3 2 dc1 <all>
# 访问web管理界面 # 浏览器访问:http://172.17.0.3:8500
Consul 容器的持久化
在开发模式下启动 Consul 容器,数据默认保存在内存中,容器重启后数据会丢失;若想使用 Docker 的数据卷持久化容器里的数据,可以挂载以下目录,如 docker -v /usr/share/consul/data:/consul/data。