consul學習筆記-docker中使用(持續更新)

環境
系統:CentOS Linux release 7.6.1810 (Core)(已經關閉防火牆)
consul版本:1.6.1(latest)

一、單機
1、單節點
在一臺服務器172.20.36.40上的docker中部署一個consul,開啓常用的端口及外部可以web訪問,使用命令:
docker run -d -p 8400:8400 -p 8500:8500 -p 8600:53/udp -h node1 consul agent -server -bootstrap -advertise 172.20.36.40 -client 0.0.0.0 -ui
在這裏插入圖片描述
啓動成功,且在另一臺機器上web可以訪問8500端口:
在這裏插入圖片描述
2、多節點
在一臺服務器上部署三個基於docker的consul,理論上來說沒有任何的意義,達不到分佈式部署的真正目的,我們直接不考慮,跳過。

二、多機分佈式部署
我們準備兩臺機器172.20.36.40172.20.36.45,在這兩臺機器上使用docker部署consul。
1、主節點部署
在機器172.20.36.40上部署第一個節點,對外的IP地址均使用172.20.36.40,使用下面的指令:

docker run -d \
-p 8300:8300 \
-p 8301:8301 \
-p 8301:8301/udp \
-p 8302:8302 \
-p 8302:8302/udp \
-p 8400:8400 \
-p 8500:8500 \
-p 8600:53/udp \
-h node1 \
consul agent -server --bootstrap-expect 2 -advertise 172.20.36.40 -client 0.0.0.0 -ui 

然後用web端訪問consul的8500,發現訪問不了,結果:
在這裏插入圖片描述
因爲上面的指令設置了-bootstrap-expect 2,必須得2個節點都正常的時候才能正常訪問
2、第二個節點部署
在機器172.20.36.45上部署第二個節點,指令如下:

docker run -d \
-p 172.20.36.45:8300:8300 \
-p 172.20.36.45:8301:8301 \
-p 172.20.36.45:8301:8301/udp \
-p 172.20.36.45:8302:8302 \
-p 172.20.36.45:8302:8302/udp \
-p 172.20.36.45:8400:8400 \
-p 172.20.36.45:8500:8500 \
-p 172.20.36.45:8600:53/udp \
-h node2 consul agent -server -advertise 172.20.36.45 -join 172.20.36.40 -client 0.0.0.0 -ui

然後web端訪問,發現是沒有問題的:
在這裏插入圖片描述

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