docker 安裝consul以及部署consul集群


1.拉取鏡像 

docker pull consul:latest

2.啟動第一個consul節點

docker run --name consul1 -d -p 8500:8500 -p 8300:8300 -p 8301:8301 -p 8302:8302 -p 8600:8600 consul agent -server -bootstrap-expect 2 -ui -bind=0.0.0.0 -client=0 .0.0.0

3.查看consul1的ip地址,把后面要添加的consul加入到這個ip中

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

4.啟動consul2節點,加入到上面的consul1的地址

docker run --name consul2 -d -p 8501:8500 consul agent -server -ui -bind=0.0.0.0 -client=0.0.0.0 -join 172.17.0.4

5.啟動consul3節點,加入到上面的consul1的地址

docker run --name consul3 -d -p 8502:8500 consul agent -server -ui -bind=0.0.0.0 -client=0.0.0.0 -join 172.17.0.4

6.查看集群信息

    在瀏覽器中輸入 localhost:8500

    

 

 

 

consul參數解釋:

   

  • –net=host docker參數, 使得docker容器越過了net namespace的隔離,免去手動指定端口映射的步驟
  • -server consul支持以server或client的模式運行, server是服務發現模塊的核心, client主要用於轉發請求
  • -advertise 將本機私有IP傳遞到consul
  • -retry-join 指定要加入的consul節點地址,失敗后會重試, 可多次指定不同的地址
  • -client 指定consul綁定在哪個client地址上,這個地址可提供HTTP、DNS、RPC等服務,默認是>127.0.0.1
  • -bind 綁定服務器的ip地址;該地址用來在集群內部的通訊,集群內的所有節點到地址必須是可達的,>默認是0.0.0.0
  • allow_stale 設置為true則表明可從consul集群的任一server節點獲取dns信息, false則表明每次請求都會>經過consul的server leader
  • -bootstrap-expect 數據中心中預期的服務器數。指定后,Consul將等待指定數量的服務器可用,然后>啟動群集。允許自動選舉leader,但不能與傳統-bootstrap標志一起使用, 需要在server模式下運行。
  • -data-dir 數據存放的位置,用於持久化保存集群狀態
  • -node 群集中此節點的名稱,這在群集中必須是唯一的,默認情況下是節點的主機名。
  • -config-dir 指定配置文件,當這個目錄下有 .json 結尾的文件就會被加載,詳細可參考https://www.consul.io/docs/agent/options.html#configuration_files
  • -enable-script-checks 檢查服務是否處於活動狀態,類似開啟心跳
  • -datacenter 數據中心名稱
  • -ui 開啟ui界面
  • -join 指定ip, 加入到已有的集群中

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM