基于docker怎么部署surging分布式微服務(wù)引擎

這篇文章主要介紹“基于docker怎么部署surging分布式微服務(wù)引擎”,在日常操作中,相信很多人在基于docker怎么部署surging分布式微服務(wù)引擎問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”基于docker怎么部署surging分布式微服務(wù)引擎”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的鳳城網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

概述

容器,就是用來(lái)存放鏡像的器皿,而鏡像是構(gòu)建成的一個(gè)輕量的、獨(dú)立的、可執(zhí)行的包,包括了執(zhí)行它所需要的所有東西:代碼、運(yùn)行環(huán)境、系統(tǒng)工具、系統(tǒng)庫(kù)、設(shè)置。

程序被構(gòu)建成鏡像放到容器中,那么它所依賴的下層環(huán)境就不再重要了。它可以在任何地方運(yùn)行,甚至在混合云環(huán)境下也可以。所以為何容器能流行起來(lái), 而容器技術(shù)興起讓docke也漸漸的映入大家的眼簾,

基于docker怎么部署surging分布式微服務(wù)引擎

那么docker又是什么呢?

  1. docker是基于go語(yǔ)言開發(fā)并開源的容器引擎

  2. docker將應(yīng)用軟件運(yùn)行時(shí)所需的一切都打包成互相隔離的容器

  3. docker可以自動(dòng)執(zhí)行并配置開發(fā)/線上環(huán)境,快速構(gòu)建,測(cè)試和運(yùn)行復(fù)雜的多容器應(yīng)用程序

  4. 對(duì)擁有數(shù)千個(gè)節(jié)點(diǎn)或容器的應(yīng)用程序,docker也能快速的擴(kuò)展和調(diào)配

  5. 可以運(yùn)行在主流的linux系統(tǒng),mac以及windows上,并且保證無(wú)論軟件在哪里部署,都能正常運(yùn)行并得到相同的結(jié)果

相關(guān)概念介紹

image鏡像和container容器:你可以把兩者理解為類和實(shí)例對(duì)象,或者是iso系統(tǒng)鏡像和虛擬機(jī)的關(guān)系。不同的image所包含的軟件或者環(huán)境是不同的,但是你可以使用dockerfile(docker特有語(yǔ)法規(guī)則所創(chuàng)建的文件)進(jìn)行管理。而container則是以image作為模板,可以獨(dú)立運(yùn)行的微型系統(tǒng),一個(gè)image可以創(chuàng)建出來(lái)多個(gè)container容器的實(shí)例

registry:docker hub鏡像倉(cāng)庫(kù),為每個(gè)人提供龐大的鏡像資源進(jìn)行拉取和使用

dockerfile:是一個(gè)將鏡像命令組合在一起的文件,用于image的自動(dòng)構(gòu)建

環(huán)境搭建

系統(tǒng)環(huán)境

宿主機(jī):windows 10 專業(yè)版

linux服務(wù)器: centos 3.10

1.安裝docker

docker 要求 centos 系統(tǒng)的內(nèi)核版本高于 3.10 ,查看本頁(yè)面的前提條件來(lái)驗(yàn)證你的centos 版本是否支持 docker 。

通過(guò) uname -r 命令查看你當(dāng)前的內(nèi)核版本

[root@runoob ~]# uname -r 3.10.0-862.e17.x86_64

# yum install docker-engine 安裝docker包

安裝成功后,使用docker version命令查看是否安裝成功,安裝成功后------如下圖

基于docker怎么部署surging分布式微服務(wù)引擎

啟動(dòng) docker

systemctl start docker

查看docker信息,如下圖

systemctl status docker

基于docker怎么部署surging分布式微服務(wù)引擎

測(cè)試運(yùn)行 hello-world

#docker run hello-world

2.安裝rancher

下載鏡像

docker pull rancher/server

啟動(dòng) rancher

docker run -d --restart=always -p 8080:8080 rancher/server

安裝成功后,通過(guò)http://ip:8080訪問(wèn),如下圖所示

基于docker怎么部署surging分布式微服務(wù)引擎

3.安裝rabbitmq

 下載鏡像

docker run -d --restart=always -p 8080:8080 rancher/server

復(fù)制代碼 代碼如下:


 #docker run -d --name rabbitmq --publish 5672:5672 --publish 4369:4369 --publish 25672:25672 --publish 15671:15671 --publish 15672:15672 \rabbitmq:management
 

安裝成功后,通過(guò)http://ip:15672訪問(wèn),如下圖所示

基于docker怎么部署surging分布式微服務(wù)引擎

4.安裝consul

下載鏡像

#docker pull docker.io/consul:latest

創(chuàng)建 consul 配置

#vim /opt/platform/consul/server.json
{
  "datacenter": "quark-consul",
  "data_dir": "/consul/data",
  "server": true,
  "ui": true,
  "bind_addr": "192.168.249.162",
  "client_addr": "192.168.249.162",
  "bootstrap_expect": 1,
  "retry_interval": "10s",
  "rejoin_after_leave": false,
  "skip_leave_on_interrupt": true
}

配置說(shuō)明

官方在啟動(dòng)容器的時(shí)候是將一部分配置作為 docker run 的參數(shù),而我是把參數(shù)寫到了配置文件里。

  1. datacenter:數(shù)據(jù)中心名稱(庫(kù)名)

  2. data_dir:數(shù)據(jù)存儲(chǔ)目錄

  3. server:運(yùn)行在server模式

  4. ui:使用ui界面

  5. bind_addr:內(nèi)部集群通信綁定的地址。默認(rèn)是 0.0.0.0 ,如果有多塊網(wǎng)卡,需要指定,否則啟動(dòng)報(bào)錯(cuò)

  6. client_addr:客戶端接口綁定的地址,默認(rèn)是 127.0.0.1 ;

  7. retry_join:重新加入集群

  8. retry_interval:重試時(shí)間

  9. rejoin_after_leave:在離開集群之后才重試加入

  10. skip_leave_on_interrupt:在啟動(dòng)后,是否 ctrl+c 優(yōu)雅退出,我們是容器模式,所以不用管,直接 true 就好了。

啟動(dòng) consul-server

復(fù)制代碼 代碼如下:

docker run -d --net=host --name consul -v /opt/platform/consul/config:/consul/config -v /opt/platform/consul/data:/consul/data consul agent

安裝成功后,通過(guò)http://ip:8500訪問(wèn),如下圖所示

基于docker怎么部署surging分布式微服務(wù)引擎

5. 安裝dotnetcore 2.1 runtime

下載鏡像

#sudo docker pull microsoft/dotnet:2.1-runtime

啟動(dòng)  

#sudo docker run -it microsoft/dotnet:2.1-runtime

部署程序

 1. 部署surging引擎,無(wú)需引用任何業(yè)務(wù)模塊,新建dockerfile文件

from microsoft/dotnet:2.1-runtime
workdir /app
copy . .
entrypoint ["dotnet", "surging.services.server.dll"]

發(fā)布程序

dotnet publish -r centos.7-x64 -c release

使用dockerfile創(chuàng)建鏡像

#docker build -t surgingserver .

啟動(dòng)

#docker run --name surgingserver --env mapping_ip=192.168.249.162 --env mapping_port=198 --env rootpath=/home/fanly --env 
register_conn=192.168.249.162:8500 --env eventbusconnection=172.17.0.4 --env surging_server_ip=0.0.0.0 -v /home/fanly:/home/fanly -it -p 198:198 surgingserver

配置說(shuō)明

  1. mapping_ip:映射的外部ip(環(huán)境變量)

  2. mapping_port :映射的外部端口 (環(huán)境變量)

  3. rootpath:業(yè)務(wù)模塊存儲(chǔ)的根路徑 (環(huán)境變量)

  4. register_conn:注冊(cè)中心地址 (環(huán)境變量)

  5. eventbusconnection:eventbus 地址 (環(huán)境變量)

  6. surging_server_ip:容器內(nèi)部ip (環(huán)境變量)

啟動(dòng)后在rancher如下圖所示

基于docker怎么部署surging分布式微服務(wù)引擎

因?yàn)榉奖?,把宿主機(jī)的目錄進(jìn)行了掛載,microsurging 為分布式微服務(wù)引擎,modules 為業(yè)務(wù)模塊目錄,surgingapi為網(wǎng)關(guān)

基于docker怎么部署surging分布式微服務(wù)引擎

2. 部署surging網(wǎng)關(guān), 新建dockerfile文件

from microsoft/dotnet:2.1-runtime
workdir /app
copy . .
entrypoint ["dotnet", "surging.apigateway.dll"]

發(fā)布程序

dotnet publish -r centos.7-x64 -c release

使用dockerfile創(chuàng)建鏡像

docker build -t surgingapi .

啟動(dòng)

復(fù)制代碼 代碼如下:

#docker run --name surgingapi -it -p 729:729 --env register_conn=192.168.249.162:8500 surgingapi

啟動(dòng)后在rancher如下圖所示

基于docker怎么部署surging分布式微服務(wù)引擎

可以通過(guò)http://ip:729進(jìn)行訪問(wèn)

基于docker怎么部署surging分布式微服務(wù)引擎

基于docker怎么部署surging分布式微服務(wù)引擎

然后可以通過(guò)postman 來(lái)測(cè)試網(wǎng)關(guān),如下圖

基于docker怎么部署surging分布式微服務(wù)引擎

到此,關(guān)于“基于docker怎么部署surging分布式微服務(wù)引擎”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

當(dāng)前題目:基于docker怎么部署surging分布式微服務(wù)引擎
文章鏈接:http://bm7419.com/article24/gijdce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、網(wǎng)站策劃、網(wǎng)站內(nèi)鏈、網(wǎng)站營(yíng)銷、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)