# [consul]docker安裝配置consul ###### tags `consul` :::info :bulb: 舉例版本號為 1.6.1 ::: ## :triangular_flag_on_post: 拉取Consul鏡像 (可省略) :::success docker pull consul # 默認拉取latest docker pull consul:1.6.1 # 拉取指定版本 ::: ## :triangular_flag_on_post: 安裝並運行 :::success docker run -d -p 8500:8500 --restart=always --name=consul consul:latest agent -server -bootstrap -ui -node=1 -client='0.0.0.0' ::: :::warning - agent: 表示啟動 Agent 進程。 - server:表示啟動 Consul Server 模式。 - bootstrap:表示這個節點是 Server-Leader ,每個數據中心只能運行一臺伺服器。技術角度上講 Leader 是通過 Raft 演算法選舉的,但是集群第一次啟動時需要一個引導 Leader,在引導群集後,建議不要使用此標誌。 - ui:表示啟動 Web UI 管理器,默認開放端口 8500,所以上面使用 Docker 命令把 8500 端口對外開放。 - node:節點的名稱,集群中必須是唯一的,默認是該節點的主機名。 - client:consul服務偵聽地址,這個地址提供HTTP、DNS、RPC等服務,默認是127.0.0.1所以不對外提供服務,如果你要對外提供服務改成0.0.0.0 - join:表示加入到某一個集群中去。 如:-json=192.168.0.11。 ::: ![](https://i.imgur.com/obeGkFB.png) ![](https://i.imgur.com/Qi3RMu5.png) ## :triangular_flag_on_post: 測試訪問 訪問:hostname:8500/ ![](https://i.imgur.com/pwq57DT.png) :::warning - services:放置服務 - nodes:放置consul節點 - key/value:放置一些配置資訊 - dc1:配置數據中心 ::: ## :triangular_flag_on_post: 範例 service有吃到服務連線會出現綠燈 要是有異常就會亮紅燈 沒連接到服務不會顯示 ![](https://i.imgur.com/h5v7PF7.png) Key/Value 是設定檔配置修改的地方 ![](https://i.imgur.com/XcQmAkR.png)