利用docker快速搭建consul集羣網

如果不用虛擬機,一臺物理機只能搭建一個server或者client,利用docker,可以快速搭建一個consul集羣。

1.docker拉羣consul的鏡像

#docker pull consul

2.用一個文件夾用來後面映射到docker中

#mkdir -p /data/consul

3.使用docker來搭建server

#docker run -d -p 8500:8500 -v /data/consul:/consul/data -e CONSUL_BIND_INTERFACE='eth0' --name=consul1 consul agent -server -bootstrap -ui -client='0.0.0.0'

#CONSUL_BIND_INTERFACE='eth0'其實相當於--bind='{{ GetInterfaceIP "eth0" }}'

#agent 代表啓動agent進程

#server 代表它是server

#bootstrap 代表這個節點是server-leader

#ui啓動web ui

-client='0.0.0.0' 代表所有的ip地址都可以訪問這個節點

4.一般第一個容器的ip地址是 172.17.0.2,可以通過下面的命令查詢容器ip:

#docker inspect --format '{{ .NetworkSettings.IPAddress }}' consul1

5.加入新節點

再啓動一個server

#docker run -d --name=consul2 -e CONSUL_BIND_INTERFACE=eth0 consul agent --server=true --client=0.0.0.0 --join 172.17.0.2;

再啓動一個client

#docker run -d --name=consul3 -e CONSUL_BIND_INTERFACE=eth0 consul agent --server=fasle --client=0.0.0.0 --join 172.17.0.2;

6.上述只搭建了dc1,下面開始搭建dc2,並將dc1和dc2關聯起來

#docker run -d --name=consul4 -e CONSUL_BIND_INTERFACE='eth0' consul agent -server -bootstrap-expect 3 -datacenter=dc2

#docker run -d --name=consul5 -e CONSUL_BIND_INTERFACE=eth0 consul agent --datacenter=dc2 --server=true --client=0.0.0.0 --join 172.17.0.6;

7.關聯dc1和dc2

docker exec -it consul6 consul join -wan 172.17.0.2  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章