docker上部署consul

http://www.itdecent.cn/p/df3ef9a4f456

docker拉取最新的consul鏡像:docker pull consul

創(chuàng)建數(shù)據(jù)中心1:docker run -d -p 8501:8500 --restart=always -v /e/docker/consul/data/server1:/consul/data -v /e/docker/consul/conf/server1:/consul/config -e CONSUL_BIND_INTERFACE='eth0' --privileged=true --name=consul_server_1 consul agent -server -bootstrap-expect=3 -ui -node=node_consul_server_1 -client='0.0.0.0' -data-dir /consul/data -config-dir /consul/config -datacenter=dc1

linux:docker run -d -p 8501:8500 --restart=always -v /home/mysite/docker/consul/data/server1:/consul/data -v /home/mysite/docker/consul/conf/server1:/consul/config -e CONSUL_BIND_INTERFACE='eth0' --privileged=true --name=consul_server_1 consul agent -server -bootstrap-expect=3 -ui -node=consul_server_1 -client='0.0.0.0' -data-dir /consul/data -config-dir /consul/config -datacenter=tengxun


通過執(zhí)行?docker inspect -f '{{.NetworkSettings.IPAddress}}' consul_server_1 獲取server1的IP

創(chuàng)建server2和3并加入節(jié)點(diǎn):

docker run -d -p 8502:8500 --restart=always -v /e/docker/consul/data/server2:/consul/data -v /e/docker/consul/conf/server2:/consul/config -e CONSUL_BIND_INTERFACE='eth0' --privileged=true --name=consul_server_2 consul agent -server -ui -node=consul_server_2 -client='0.0.0.0' -data-dir /consul/data -config-dir /consul/config -datacenter=dc1 -join 172.17.0.2

docker run -d -p 8503:8500 --restart=always -v /e/docker/consul/data/server3:/consul/data -v /e/docker/consul/conf/server3:/consul/config -e CONSUL_BIND_INTERFACE='eth0' --privileged=true --name=consul_server_3 consul agent -server -ui -node=consul_server_3 -client='0.0.0.0' -data-dir /consul/data -config-dir /consul/config -datacenter=dc1 -join 172.17.0.2

linux:docker run -d -p 8503:8500 --restart=always -v /home/mysite/docker/consul/data/server2:/consul/data -v /home/mysite/docker/consul/conf/server2:/consul/config -e CONSUL_BIND_INTERFACE='eth0' --privileged=true --name=consul_server_2 consul agent -server -ui -node=consul_server_2 -client='0.0.0.0' -data-dir /consul/data -config-dir /consul/config -datacenter=tengxun -join 172.17.0.8

docker run -d -p 8502:8500 --restart=always -v /home/mysite/docker/consul/data/server3:/consul/data -v /home/mysite/docker/consul/conf/server3:/consul/config -e CONSUL_BIND_INTERFACE='eth0' --privileged=true --name=consul_server_3 consul agent -server -ui -node=consul_server_3 -client='0.0.0.0' -data-dir /consul/data -config-dir /consul/config -datacenter=tengxun -join 172.17.0.8

-bootstarp-expect 3 3個才會啟動集群,少于的話啟動失?。ㄋ栽诔晒?chuàng)建第三個server前,查看ui是失敗的)

執(zhí)行:docker exec consul_server_1 consul operator raft list-peers 查看consul狀態(tài)


創(chuàng)建client1:docker run -d -p 8504:8500 --restart=always -v /e/docker/consul/conf/client1:/consul/config -e CONSUL_BIND_INTERFACE='eth0' --name=consul_client_1 consul agent -node=consul_client_1 -client='0.0.0.0' -config-dir /consul/config -datacenter=dc1 -join 172.17.0.2

創(chuàng)建:client2: docker run -d -p 8505:8500 --restart=always -v /e/docker/consul/conf/client2:/consul/config -e CONSUL_BIND_INTERFACE='eth0' --name=consul_client_2 consul agent -node=consul_client_2 -client='0.0.0.0' -config-dir /consul/config -datacenter=dc1 -join 172.17.0.2

docker run -d -p 8504:8500 --restart=always -v /home/mysite/docker/consul/conf/client1:/consul/config -e CONSUL_BIND_INTERFACE='eth0' --name=consul_client_1 consul agent -node=consul_client_1 -client='0.0.0.0' -config-dir /consul/config -datacenter=tengxun -join 172.17.0.8

docker run -d -p 8505:8500 --restart=always -v /home/mysite/docker/consul/conf/client2:/consul/config -e CONSUL_BIND_INTERFACE='eth0' --name=consul_client_2 consul agent -node=consul_client_2 -client='0.0.0.0' -config-dir /consul/config -datacenter=tengxun -join 172.17.0.8

創(chuàng)建數(shù)據(jù)中心2:docker run -d --name=consul2-1 -e CONSUL_BIND_INTERFACE='eth0' consul agent -server -bootstrap-expect 2 -datacenter='datacenter2'

查詢數(shù)據(jù)中心1的容器IP:docker inspect --format '{{ .NetworkSettings.IPAddress }}' consul1-1

將數(shù)據(jù)中心2關(guān)聯(lián)到數(shù)據(jù)中心1上:?docker exec -it consul2-1 consul join -wan 172.17.0.3(好像不是這樣子的)

將節(jié)點(diǎn)添加數(shù)據(jù)中心2:docker run -d --name=consul2-2 -e CONSUL_BIND_INTERFACE=eth0 consul agent --datacenter=datacenter2 --server=true --client=0.0.0.0 --join 172.17.0.4



重點(diǎn):

linux服務(wù)器上部署了一個consul server,然后其中docker中部署了3個server和2個client,但是server無法加入到集群中,client可以。搞了半天,最后發(fā)現(xiàn)兩個consul的版本不一樣,最后將 docker中的鏡像更新到1.8.3和服務(wù)器上一致,問題解決。起始在docker的日志中可以看到提示版本的問題

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容