背景:ubuntu64位18.04.1版,docker19.03.0
GitHub资料:https://github.com/docker-library/docs/tree/master/consul
Docker Hub镜像资料:https://hub.docker.com/_/consul
一、获取镜像
1. 拉取consul镜像
docker pull consul
2. 查看镜像列表
docker images
二、开发环境(This runs a completely in-memory Consul server agent with default bridge networking and no services exposed on the host, which is useful for development but should not be used in production. )
1. 启动consul(配置单节点)
docker run -d -p 8500:8500 --name=dev-consul -e CONSUL_BIND_INTERFACE=eth0 consul
2. 查看consul在容器中的ip
docker exec -t dev-consul consul members
3. 将节点添加到consul服务中
docker run -d -p 8501:8500 -e CONSUL_BIND_INTERFACE=eth0 consul agent -dev -join=172.17.0.2
docker run -d -p 8502:8500 -e CONSUL_BIND_INTERFACE=eth0 consul agent -dev -join=172.17.0.2
4. 查看节点内容http://ip:8500/ui/dc1/nodes
到此配置成功
三、开发环境
1. 使用数据卷
docker run -d -p 8500:8500 --name=consul-server1 -v /var/local/data/consul1:/consul/data -e CONSUL_BIND_INTERFACE=eth0 consul agent -server -bootstrap -ui -node=consul-server1 -client='0.0.0.0'
docker run -d -p 8501:8500 --name=consul-server2 -v /var/local/data/consul2:/consul/data -e CONSUL_BIND_INTERFACE=eth0 consul agent -dev -join=172.17.0.2
docker run -d -p 8502:8500 --name=consul-server3 -v /var/local/data/consul3:/consul/data -e CONSUL_BIND_INTERFACE=eth0 consul agent -dev -join=172.17.0.2