Docker部署Consul配置過(guò)程解析
執(zhí)行命令
docker run -d --name consul -p 8500:8500 consul
端口說(shuō)明
https://www.consul.io/docs/install/ports.html
掛載說(shuō)明
/consul/data:持久化數(shù)據(jù)存儲(chǔ)/consul/config:配置文件
Consul 配置
https://www.consul.io/docs/agent/options.html
注意:瀏覽器打開(kāi) http://公網(wǎng)ip:8500
集群部署
啟動(dòng)4個(gè)Consul Agent,3個(gè)Server(會(huì)選舉出一個(gè)leader),1個(gè)Client
#啟動(dòng)第1個(gè)Server節(jié)點(diǎn),集群要求要有3個(gè)Server,將容器8500端口映射到主機(jī)8900端口,同時(shí)開(kāi)啟管理界面docker run -d --name=consul1 -p 8900:8500 -e CONSUL_BIND_INTERFACE=eth0 consul agent --server=true --bootstrap-expect=3 --client=0.0.0.0 -ui#啟動(dòng)第2個(gè)Server節(jié)點(diǎn),并加入集群docker run -d --name=consul2 -e CONSUL_BIND_INTERFACE=eth0 consul agent --server=true --client=0.0.0.0 --join 172.17.0.2#啟動(dòng)第3個(gè)Server節(jié)點(diǎn),并加入集群docker run -d --name=consul3 -e CONSUL_BIND_INTERFACE=eth0 consul agent --server=true --client=0.0.0.0 --join 172.17.0.2#啟動(dòng)第4個(gè)Client節(jié)點(diǎn),并加入集群docker run -d --name=consul4 -e CONSUL_BIND_INTERFACE=eth0 consul agent --server=false --client=0.0.0.0 --join 172.17.0.2
第1個(gè)啟動(dòng)容器的IP一般是172.17.0.2,后邊啟動(dòng)的幾個(gè)容器IP會(huì)排著來(lái):172.17.0.3、172.17.0.4、172.17.0.5。
這些Consul節(jié)點(diǎn)在Docker的容器內(nèi)是互通的,他們通過(guò)橋接的模式通信。但是如果主機(jī)要訪問(wèn)容器內(nèi)的網(wǎng)絡(luò),需要做端口映射。在啟動(dòng)第一個(gè)容器時(shí),將Consul的8500端口映射到了主機(jī)的8900端口,這樣就可以方便的通過(guò)主機(jī)的瀏覽器查看集群信息。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 利用單元測(cè)試對(duì)PHP代碼進(jìn)行檢查2. python如何實(shí)現(xiàn)word批量轉(zhuǎn)HTML3. python 讀txt文件,按‘,’分割每行數(shù)據(jù)操作4. Java Media Framework 基礎(chǔ)教程5. 解決vue頁(yè)面刷新,數(shù)據(jù)丟失的問(wèn)題6. Python 忽略文件名編碼的方法7. android studio實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器(無(wú)bug)8. JavaEE SpringMyBatis是什么? 它和Hibernate的區(qū)別及如何配置MyBatis9. python excel和yaml文件的讀取封裝10. Java8內(nèi)存模型PermGen Metaspace實(shí)例解析
