原標題:Go語言:Docker安裝及運行consul節點

搭建集羣

在真實的生產環境中,需要真實的部署consul集羣。在一臺機器上想要模擬多臺集羣部署的效果,有兩種方案:一種是藉助虛擬機,另一種是藉助容器技術。

在本系列課程中,使用後者容器技術來實現集羣的搭建。

Docker簡介

Docker是一個開源的應用容器引擎,基於Go語言並遵從Apache2.0協議開源。

Docker可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後發佈到任何流行的Linux機器上,也可以實現虛擬化。

容器是完全使用沙箱機制,相互之間不會有任何的接口,更重要的是容器性能開銷很低。

Docker安裝

1、Windows系統下安裝

window系統下的安裝可以參考如下的鏈接文檔:https://www.runoob.com/docker/windows-docker-install.html

可以按照如上的鏈接在window系統下安裝Docker。

2、MacOS系統下安裝

MacOS系統下的安裝,有兩種方式。同樣可以參考如下鏈接:https://www.runoob.com/docker/macos-docker-install.html

Docker測試

Docker安裝完成以後,可以進行測試。可以通過終端命令的形式查看Docker是否安裝成功:

docker version

Docker中安裝consul

Docker僅僅是一個容器,是搭建集羣的一個環境。如果想要搭建多個集羣,還必須安裝consul環境。Docker中安裝consul環境,可以使用指令實現。Docker安裝consul指令如下:

  • docker search

docker search consul

使用如上命令查看consul的鏡像文件,在終端輸出如下所示內容:

  • docker pull

docker pull consul

通過search查詢了consul鏡像的相關內容後,可以使用如上的docker pull命令安裝consul環境。

檢驗Docker安裝Consul成功

在Docker中安裝consul可以,可以通過如下命令查看docker中安裝consul是否成功:

docker images

或者

docker run consul version

Docker中啓動一個單獨節點consul agent

Docker中安裝好了consul以後,首先嚐試啓動一個server節點,可以通過如下命令來啓動docker中的單個節點:

$ docker run -p 8400:8400 -p 8500:8500 -p 8600:53/udp -h node1 consul -server -bootstrap

如上的命令中,參數說明如下: * 暴露了三個端口,分別是: * RPC端口:8400 * HTTP端口:8500 * DNS端口:8600

  • -h:對應的node1爲節點的名稱
  • -server:表示啓動的節點類型爲server類型
  • -bootstrap:表示自動引導選舉,用於server節點選舉leader的參數

在暴露的三個端口中,還對應的映射到了主機的端口上,因此,我們可以通過在主機中訪問server的信息。比如:

  • curl訪問HTTP接口: curl localhost:8500/v1/catalog/nodes

  • dig來和DNS接口進行交互:
  • dig @0.0.0.0 -p 8600 node1.node.consul

另外,我們還可以瀏覽器來進行訪問,在主機的瀏覽器中鍵入:http://127.0.0.1:8500 進行訪問,可以查看到server節點的相關信息。

  • 宿主機上查看節點數量 在宿主機上已經安裝了Consul, 可以用命令行來和容器裏的Consul Agent進行交互:

consul members

相關文章