【原】docker部署单节点consul
生活随笔
收集整理的這篇文章主要介紹了
【原】docker部署单节点consul
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
docker下部署單節(jié)點的consul,最重要的是在run consul時,配置-bootstrap-expect=1
docker run --name consul1 -d -p 5902:8500 -p 8300:8300 -p 8301:8301 -p 8302:8302 -p 8600:8600 10.109.30.246:5901/daily_docker/consul:1.4.5 agent -server -bootstrap-expect=1 -ui -bind=0.0.0.0 -client=0.0.0.0consul agent?命令的常用選項,如下:
- -data-dir?
- 作用:指定agent儲存狀態(tài)的數(shù)據(jù)目錄
- 這是所有agent都必須的
- 對于server尤其重要,因為他們必須持久化集群的狀態(tài)
- -config-dir?
- 作用:指定service的配置文件和檢查定義所在的位置
- 通常會指定為”某一個路徑/consul.d”(通常情況下,.d表示一系列配置文件存放的目錄)
- -config-file?
- 作用:指定一個要裝載的配置文件
- 該選項可以配置多次,進而配置多個配置文件(后邊的會合并前邊的,相同的值覆蓋)
- -dev?
- 作用:創(chuàng)建一個開發(fā)環(huán)境下的server節(jié)點
- 該參數(shù)配置下,不會有任何持久化操作,即不會有任何數(shù)據(jù)寫入到磁盤
- 這種模式不能用于生產環(huán)境(因為第二條)
- -bootstrap-expect?
- 作用:該命令通知consul server我們現(xiàn)在準備加入的server節(jié)點個數(shù),該參數(shù)是為了延遲日志復制的啟動直到我們指定數(shù)量的server節(jié)點成功的加入后啟動。
- -node?
- 作用:指定節(jié)點在集群中的名稱
- 該名稱在集群中必須是唯一的(默認采用機器的host)
- 推薦:直接采用機器的IP
- -bind?
- 作用:指明節(jié)點的IP地址
- 有時候不指定綁定IP,會報Failed to get advertise address: Multiple private IPs found. Please configure one.?的異常
- -server?
- 作用:指定節(jié)點為server
- 每個數(shù)據(jù)中心(DC)的server數(shù)推薦至少為1,至多為5
- 所有的server都采用raft一致性算法來確保事務的一致性和線性化,事務修改了集群的狀態(tài),且集群的狀態(tài)保存在每一臺server上保證可用性
- server也是與其他DC交互的門面(gateway)
- -client?
- 作用:指定節(jié)點為client,指定客戶端接口的綁定地址,包括:HTTP、DNS、RPC
- 默認是127.0.0.1,只允許回環(huán)接口訪問
- 若不指定為-server,其實就是-client
- -join?
- 作用:將節(jié)點加入到集群
- -datacenter(老版本叫-dc,-dc已經(jīng)失效)?
- 作用:指定機器加入到哪一個數(shù)據(jù)中心中
- -data-dir?
10.109.30.246:5901/daily_docker/consul:1.4.5是本地的docker鏡像源,run時會從源倉庫拉取鏡像啟動
注:5902的端口映射是因為防火墻問題,防火墻的策略只暴露5900-XXXX的端口。
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' consul1 //獲取容器IP?
轉載于:https://www.cnblogs.com/PearlRan/p/11225953.html
總結
以上是生活随笔為你收集整理的【原】docker部署单节点consul的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#,入门教程——一个优秀程序员的修炼之
- 下一篇: powershell some chec