1.dokcerfile建立相應映象
from centos
#配置環境變數consul版本
env consul_version=1.0.6
env hashicorp_releases=
#新增consul使用者跟使用者組
run groupadd consul && \
useradd -g consul consul
#安裝consul
run yum upgrade -y && \
yum install -y net-tools && \
yum install -y firewalld firewalld-config && \
yum install -y wget && \
yum install -y unzip && \
wget $/consul/$/consul_$_linux_amd64.zip && \
unzip consul_$_linux_amd64.zip && \
rm -rf consul_$_linux_amd64.zip && \
mv consul /usr/local/bin
run mkdir -p /consul/data && \
chown -r consul:consul /consul
volume /consul/data
#開放埠
expose 8300
expose 8301 8301/udp 8302 8302/udp
expose 8500 8600 8600/udp
在dockerfile目錄 執行下面**,注意後面上下文點號
docker build -t counsl .
2.建立子網路並規劃ip
docker network create --subnet=192.168.2.0/24 consulnetwork
容器名稱
容器ip位址
node1
192.168.2.2
node2
192.168.2.3
node3
192.168.2.4
3.分別建立三個容器 -p使用dockerfile的埠對映
docker run -itd --name consul1 --network mynetwork -p --ip 192.168.2.2 consul
docker run -itd --name consul2 --network mynetwork -p --ip 192.168.2.3 consul
docker run -itd --name consul3 --network mynetwork -p --ip 192.168.2.4 consul
4.進入容器
docker exec -it consul1 /bin/bash
5.進入三個不同容器分別啟動
consul agent -server -ui -node=server1 -bootstrap-expect=3 -bind=192.168.2.2 -data-dir /consul/data -join=192.168.2.2 -client 0.0.0.0
consul agent -server -ui -node=server2 -bootstrap-expect=3 -bind=192.168.2.3 -data-dir /consul/data -join=192.168.2.2 -client 0.0.0.0
consul agent -server -ui -node=server3 -bootstrap-expect=3 -bind=192.168.2.4 -data-dir /consul/data -join=192.168.2.2 -client 0.0.0.0
agent **模式 -server 表示啟動的是乙個服務 -client 啟動客戶端
-bootstrap-expect 3 表示等待多少個節點再啟動,這裡3個,3個一起啟動
-node=server1 就是給consul服務起個別名為server1
-bind=192.168.2.2 繫結內網ip
-data-dir /opt/data1 資料儲存目錄為/opt/data1
-ui 啟動預設ui介面
-client consul繫結在哪個client位址上,這個位址提供http、dns、rpc等服務,預設是127.0.0.1,可指定允許客戶端使用什麼ip去訪問
6訪問宿主機對應對映到docker容器的8500埠檢視資訊 我的是 0.0.0.0:32769->8500/tcp
7.獲取健康的服務
api:/v1/health/service/
$servicelist = $this->curl_request($url, 'get');
$servicelist=json_decode($servicelist, true);
$address=;
foreach ($servicelist as $k=>$v)}}
SpringCloud 多機搭建Consul集群
搭建環境 linux centos 7 consul 1.8.6 一 在三颱linux主機上分別上傳並解壓consul安裝包 consul 1.8.6 linux amd64.zip 為安裝包,使用unzip consul 1.8.6 linux amd64.zip 命令進行解壓,consul 為解...
基於docker搭建rabbitmq
前提是安裝了docker的環境,這個我之前的文章中有。安裝rabbitmq的步驟和其他的軟體在docker中安裝步驟類似 1 找到映象中心 2 根據要求 找到指定的版本 tag 我這裡是使用的七牛的映象位址,然後使用的3.7 manager 的乙個版本 3 使用指令拉取image 映象檔案到伺服器 ...
基於docker搭建Samba
1.查詢映象 docker search samba2.拉取映象 docker pull dperson samba3.在本地建立個目錄,以便於容器掛載 mkdir datadchmod 777 data不修改的話連線進去會提示沒有許可權寫入資料 4.啟動映象 docker run it name ...