成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

站長資訊網
最全最豐富的資訊網站

Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理

先來架構,如圖:
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理
1.前端出口服務為阿里SLB
2.Zookeeper集群為整個微服務環境提供注冊中心,Zookeeper集群每個znode的IP固定,也同樣由config-service服務配置。
3.集中配置服務config-service,由git集中管理配置文件,config-service配置映射宿主機某個目錄。配置如需修改直接Git中修改,觸發宿主機映射的目錄中進行git pull操作,然后重啟對應的provider,配置即可生效。
4.facade作為分發器做分發服務。

微服務工作流程:
1)provider啟動,讀取寫死的config-service配置服務,從配置服務中獲取到Zookeeper地址,進行注冊。
2)請求由阿里SLB分發至對應微服務facade,網關前往Zookeeper集群注冊中心獲取可用服務。
3)獲取到可用provider后,facade進行分發請求,策略為輪詢。
4)如后端provider掛了,無法提供服務,Zookeeper會自動剔除該服務的注冊。


建立微服務基礎運行環境,gateway網關、Zookeeper注冊中心、config-service配置基礎運行環境。開始構建以上基礎運行環境:

一、創建zookeeper3.4.10集群服務

需包含了jdk和配置好環境變量的鏡像,jdk1.8鏡像。
jdk1.8鏡像交付到阿里云Docker Registry倉庫

Docker Rancher宿主機

1.下載jdk1.8.0_25.tar包,自行下載。
創建jdk構建build目錄

mkdir -p /data/docker/ms-jdk  ll  -rw-r--r-- 1 root root 155 Dec 29 15:11 dockerfile  drwxr-xr-x 9 root root 268 Nov 17  2017 jdk1.8.0_25

2.編寫dockfile
cat dockerfile

FROM CentOS  MAINTAINER jdk1.8 "name@alaxiaoyou.com"  ADD jdk1.8.0_25/ /usr/local/jdk1.8  ENV JAVA_HOME /usr/local/jdk1.8  ENV PATH $JAVA_HOME/bin:$PATH

3.構建

[root@rancher-qa ms-jdk]# docker build -t ms/jdk1.8:v1 .  Sending build context to Docker daemon  308.6MB  Step 1/5 : FROM centos  latest: Pulling from library/centos  a02a4930cb5d: Pull complete   Digest: sha256:184e5f35598e333bfa7de10d8fb1cebb5ee4df5bc0f970bf2b1e7c7345136426  Status: Downloaded newer image for centos:latest   ---> 1e1148e4cc2c  Step 2/5 : MAINTAINER jdk1.8 "yuhuanghui@alaxiaoyou.com"   ---> Running in 74ba397d2ab5   ---> 57601effbcb9  Removing intermediate container 74ba397d2ab5  Step 3/5 : ADD jdk1.8.0_25/ /usr/local/jdk1.8   ---> e960522c0399  Removing intermediate container 9408672a94d9  Step 4/5 : ENV JAVA_HOME /usr/local/jdk1.8   ---> Running in 42d9c2b3239c   ---> 9bb3badf22e0  Removing intermediate container 42d9c2b3239c  Step 5/5 : ENV PATH $JAVA_HOME/bin:$PATH   ---> Running in d8af2f726409   ---> 00d3c71ae0be  Removing intermediate container d8af2f726409  Successfully built 00d3c71ae0be  Successfully tagged ms/jdk1.8:v1

docker images 查看
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理

4.登錄阿里云容器鏡像服務
創建鏡像倉庫名稱ms-jdk1.8
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理

5.鏡像push到阿里云Docker Registry
切換到rancher/server
登錄到阿里云Docker Registry
登錄Docker Registry -> 打tag -> push到Docker Registry

[root@rancher-qa ms-jdk]# docker login --username=name@alaxiaoyou.com registry.cn-hangzhou.aliyuncs.com  Password: ********  Login Succeeded  [root@rancher-qa ms-jdk]#   [root@rancher-qa ms-jdk]# docker tag 00d3c71ae0be registry.cn-hangzhou.aliyuncs.com/xmbaby-tmp/ms-jdk1.8:v1.0  [root@rancher-qa ms-jdk]# docker push registry.cn-hangzhou.aliyuncs.com/xmbaby-tmp/ms-jdk1.8:v1.0  The push refers to a repository [registry.cn-hangzhou.aliyuncs.com/xmbaby-tmp/ms-jdk1.8]  96f6833b8de8: Pushed   071d8bd76517: Pushed   v1.0: digest: sha256:1c2f642e7e49cd607c36032612efcd875c191abc5edb642d7e86483d1d5b392d size: 742

查看:
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理

至此,ms-jdk1.8鏡像交付完成。

zookeeper3.4.10集群創建,并將Zookeeper3.4.10鏡像交付到阿里云Docker Registry倉庫。

1.zookeeper3.4.10集群構建前提準備:

zookeeper3.4.10集群需其配置文件中指定各個選舉節點的ip和端口,并且zookeeper集群中的datadir(zoo.cfg配置中:dataDir=/tmp/zookeeper)中,需指定節點的myid,才能完成Zookeeper集群搭建。在不使用docker link功能前提下,容器化Zookeeper集群,需要解決:
1).myid問題。
2).Zookeeper集群節點(leader、follower)選舉配置。

可使用docker內置的volume功能,將配置文件和Zookeeper的datadir映射至宿主機進行管理。
如在rancher中:
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理

所以,宿主機必須存在:
1) zookeeper-config/,目錄為Zookeeper所有配置文件,包含集群的選舉節點IP和選舉端口,主要zoo.cfg文件中。

ll zookeeper-config/  total 16  -rw-r--r-- 1 root root  535 Jan  4 17:43 configuration.xsl  -rw-r--r-- 1 root root 2161 Jan  4 17:43 log4j.properties  -rw-r--r-- 1 root root 1012 Jan  4 17:43 zoo.cfg  -rw-r--r-- 1 root root  922 Jan  4 17:43 zoo_sample.cf

2) zookeeper-data01/,目錄對應zookeeper集群中的datadir,有存放一個myid文件,Zookeeper集群啟動后產生的數據也會持久化到此宿主機目錄下。Zookeeper集群有3個znode節點,所以datadir有:
zookeeper-data02/
zookeeper-data03/

ll /data/docker/  drwxr-xr-x 3 root root 48 Jan  5 17:25 ms-zookeeper3.4.10  drwxr-xr-x 2 root root 92 Jan  5 16:54 zookeeper-config  drwxr-xr-x 2 root root 18 Jan  4 17:59 zookeeper-data01  drwxr-xr-x 2 root root 18 Jan  4 18:02 zookeeper-data02  drwxr-xr-x 2 root root 18 Jan  4 18:02 zookeeper-data03

2.鏡像構建

2.1 下載zookeeper-3.4.10.tar.gz包
wget https://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
創建zookeeper-3.4.10構建build目錄

mkdir -p /data/docker/ms-zookeeper3.4.10/  -rw-r--r--  1 root root  207 Jan  4 18:58 dockerfile  drwxr-xr-x 10 root root 4096 Mar 23  2017 zookeeper-3.4.10

2.2 編寫dockfile
vim /data/docker/ms-zookeeper3.4.10/dockerfile

FROM ms/jdk1.8:v1  MAINTAINER zookeeper3.4.10 "name@alaxiaoyou.com"  ADD zookeeper-3.4.10/ /usr/local/zookeeper/  WORKDIR /usr/local/zookeeper  ENTRYPOINT ./bin/zkServer.sh start &&  tail -f zookeeper.out

其中zookeeper-3.4.10目錄添加至鏡像中,然后交付。但只是一個Zookeeper運行的模板,具體配置可通過volume,用宿主機的配置覆蓋鏡像中的配置。

2.3 構建,鏡像

cd /data/docker/ms-zookeeper3.4.10  docker build -t ms/zookeeper3.4.10:v1 .  docker images | grep zook  ms/zookeeper3.4.10                                                 v1                      cb1bea8cf3d5        23 hours ago        567MB  registry.cn-hangzhou.aliyuncs.com/xmbaby-tmp/tmp-zookeeper-ms      v1                      cb1bea8cf3d5        23 hours ago        567MB

鏡像運行,本地docker本身命令行啟動Zookeeper容器

[root@rancher-qa docker]# docker run --name zookeeper01 -it -v /data/docker/zookeeper-config/:/usr/local/zookeeper/conf/ -v /data/docker/zookeeper-data01/:/tmp/zookeeper/ ms/zookeeper3.4.10 /bin/bash

以上docker命令行啟動卷映射目錄正常,宿主機目錄能映射到容器中。但rancher中用UI界面進行卷映射時,發現宿主機映射的目錄在容器中并未映射到。待解決。
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理
此問題是由于,rancher有兩臺主機,而容器都運行在未進行設置映射目錄的宿主機中。此問題困擾近一周時間,<_>

2.4 登錄阿里云容器鏡像服務
創建鏡像倉庫名稱tmp-zookeeper-ms
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理

2.5 zookeeper鏡像push到阿里云Docker Registry
切換到rancher/server
登錄到阿里云Docker Registry
登錄Docker Registry -> 打tag -> push到Docker Registry

[root@rancher-qa ms-zookeeper3.4.10]# docker login --username=name@alaxiaoyou.com registry.cn-hangzhou.aliyuncs.com  Password:   Login Succeeded  [root@rancher-qa ms-zookeeper3.4.10]#   [root@rancher-qa ms-zookeeper3.4.10]# docker tag cb1bea8cf3d5 registry.cn-hangzhou.aliyuncs.com/xmbaby-tmp/tmp-zookeeper-ms:v1  [root@rancher-qa ms-zookeeper3.4.10]#   [root@rancher-qa ms-zookeeper3.4.10]# docker push registry.cn-hangzhou.aliyuncs.com/xmbaby-tmp/tmp-zookeeper-ms:v1  The push refers to a repository [registry.cn-hangzhou.aliyuncs.com/xmbaby-tmp/tmp-zookeeper-ms]  ed1b06ecb437: Pushed   96f6833b8de8: Mounted from xmbaby-tmp/ms-jdk1.8   071d8bd76517: Mounted from xmbaby-tmp/ms-jdk1.8   v1: digest: sha256:c55b36fb410d7db9409e3ca4fb27e0d8d2d05e1970d99270ff9d5a6d8ee25e0b size: 954    [root@rancher-qa ms-zookeeper3.4.10]# docker images | grep zook  registry.cn-hangzhou.aliyuncs.com/xmbaby-tmp/tmp-zookeeper-ms      latest                  cb1bea8cf3d5        8 days ago          567MB  registry.cn-hangzhou.aliyuncs.com/xmbaby-tmp/tmp-zookeeper-ms      v1                      cb1bea8cf3d5        8 days ago          567MB  ms/zookeeper3.4.10                                                 latest                  cb1bea8cf3d5        8 days ago          567MB  ms/zookeeper3.4.10                                                 v1                      cb1bea8cf3d5        8 days ago          567MB

2.6查看
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理

至此,tmp-zookeeper-ms鏡像交付完成。

3.這里選擇rancher來做docker集群的管理和編排,除了使用docker本身命令行界面啟動Zookeeper容器外,推薦使用rancher UI界面進行容器管理和創建。
在rancher中,添加zk1、zk2、zk3容器服務:
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理

創建zk1:
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理

卷管理:
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理

設置容器主機:
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理

另兩個znode節點,zk2、zk3同理操作,只是路徑和名稱做稍微改動。

進入Zookeeper容器中查看啟動信息,查看Zookeeper機器znode2為集群leader:
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理

二、創建config-service服務

集中配置服務config-service,作為公司微服務基礎運行環境部分,需要優先單獨創建。
為做好后期集中打包,使用maven工具,需先創建一maven鏡像,該maven鏡像集成了公司自己nexus服務,任何開發都可通過此鏡像進行快速打包本地的開發環境的jar包。
Docker Rancher宿主機

1.下載apache-maven-3.3.9-bin.tar.gz包,自行下載。
創建maven構建build目錄

mkdir -p /data/docker/maven3.3.9  ll  drwxr-xr-x 6 root root      99 Jan 13 15:36 apache-maven-3.3.9  -rw-r--r-- 1 root root 8491533 Jan 13 15:34 apache-maven-3.3.9-bin.tar.gz  -rw-r--r-- 1 root root     393 Jan 13 16:53 dockerfile  drwxr-xr-x 9 root root     268 Jan 13 15:43 jdk1.8.0_25  -rwxr-xr-x 1 root root      55 Jan 13 16:53 maven.sh

2.編寫dockfile
cat dockerfile

FROM ms/jdk1.8:v1  MAINTAINER maven-3.3.9 "name@alaxiaoyou.com"  RUN mkdir /usr/local/maven-3.3.9/ #&& mkdir /usr/local/jdk1.8/ #因基于ms/jdk1.8:v1鏡像,已有的jdk環境  ADD apache-maven-3.3.9/ /usr/local/maven-3.3.9/  #ADD jdk1.8.0_25/ /usr/local/jdk1.8/  ADD maven.sh /tmp/  ENV JAVA_HOME /usr/local/jdk1.8  ENV M2_HOME /usr/local/maven-3.3.9  ENV PATH $JAVA_HOME/bin:$M2_HOME/bin:$PATH  CMD /tmp/maven.sh

cat maven.sh

#!/bin/bash  cd /data/httpd/${msname}  mvn clean install

3.構建

[root@rancher-qa maven3.3.9]# docker build -t ms/maven-3.3.9 .  Sending build context to Docker daemon  327.2MB  Step 1/9 : FROM ms/jdk1.8:v1   ---> 00d3c71ae0be  Step 2/9 : MAINTAINER maven-3.3.9 "yuhuanghui@alaxiaoyou.com"   ---> Using cache   ---> 80a6d05eae5a  Step 3/9 : RUN mkdir /usr/local/maven-3.3.9/ #&& mkdir /usr/local/jdk1.8/   ---> Using cache   ---> 92ac17c859a8  Step 4/9 : ADD apache-maven-3.3.9/ /usr/local/maven-3.3.9/   ---> Using cache   ---> fa81af79d732  Step 5/9 : ADD maven.sh /tmp/   ---> Using cache   ---> 034053775e26  Step 6/9 : ENV JAVA_HOME /usr/local/jdk1.8   ---> Using cache   ---> ad8e78b5a021  Step 7/9 : ENV M2_HOME /usr/local/maven-3.3.9   ---> Running in cfae5d0a6e53   ---> ccfcc8638e43  Removing intermediate container cfae5d0a6e53  Step 8/9 : ENV PATH $JAVA_HOME/bin:$M2_HOME/bin:$PATH   ---> Running in 30b2f568c1a3   ---> 27e68ef34a42  Removing intermediate container 30b2f568c1a3  Step 9/9 : CMD /tmp/maven.sh   ---> Running in db48895f5502   ---> 21c6f1a3b0cf  Removing intermediate container db48895f5502  Successfully built 21c6f1a3b0cf  Successfully tagged ms/maven-3.3.9:latest  [root@rancher-qa maven3.3.9]#   [root@rancher-qa maven3.3.9]# docker images | grep maven  ms/maven-3.3.9                                                     latest                  21c6f1a3b0cf        34 minutes ago      519MB

運行此maven鏡像,打包命令示例:

[root@rancher-qa maven3.3.9]# docker run --rm -it -v /data/docker/ms-config/:/data/httpd/config-service/ -e msname=config-service ms/maven-3.3.9

說明:-v宿主機配置目錄/data/docker/ms-config/映射到容器/data/httpd/config-service/,-e定義maven.sh腳本${msname}變量。

4.登錄阿里云容器鏡像服務
創建本地倉庫名稱ms-maven-3.3.9
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理

5.鏡像push到阿里云Docker Registry
切換到rancher/server
登錄到阿里云Docker Registry
登錄Docker Registry -> 打tag -> push到Docker Registry

[root@rancher-qa ms-jdk]# docker login --username=name@alaxiaoyou.com registry.cn-hangzhou.aliyuncs.com  Password: **********  Login Succeeded  [root@rancher-qa ms-jdk]#   [root@rancher-qa ms-jdk]# docker tag 21c6f1a3b0cf registry.cn-hangzhou.aliyuncs.com/xmbaby-tmp/ms-maven-3.3.9:latest  [root@rancher-qa ms-jdk]# docker push registry.cn-hangzhou.aliyuncs.com/xmbaby-tmp/ms-maven-3.3.9:latest  The push refers to a repository [registry.cn-hangzhou.aliyuncs.com/xmbaby-tmp/ms-maven-3.3.9]  607c588ba0d1: Pushed   2e4a77c00b58: Pushed   48c8f5464987: Pushed   96f6833b8de8: Mounted from xmbaby-tmp/tmp-zookeeper-ms   071d8bd76517: Mounted from xmbaby-tmp/tmp-zookeeper-ms   latest: digest: sha256:9ceac47cffbf0c35ed66212a042ad10f3905cae924033caf4cbca8cbf4dbf4dd size: 1367

查看:
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理

至此,ms-maven-3.3.9鏡像交付完成。此鏡像交付完成后,后期基本無需改動,直接latest版本。

服務config-service鏡像開始交付:

1.1準備集中配置項目alaxiaoyou-config-service-0.0.1-SNAPSHOT.jar包,gitlab倉庫中。
創建config-service構建build目錄

mkdir -p /data/httpd/ms-config-service-tmp  -rw-r--r-- 1 root root 276 Jan 14 17:34 dockerfile  drwxr-xr-x 2 root root  58 Jan 14 17:31 target

1.2 編寫dockfile
cat /data/httpd/ms-config-service-tmp/dockerfile

FROM ms/jdk1.8:v1  MAINTAINER tmp-config-service "name@alaxiaoyou.com"  RUN mkdir -p /data/httpd/  ADD target/alaxiaoyou-config-service-0.0.1-SNAPSHOT.jar /data/httpd/  WORKDIR /data/httpd/  ENTRYPOINT java -Xmx128m -Xss512k -jar alaxiaoyou-config-service-0.0.1-SNAPSHOT.jar

說明:ENTRYPOINT進入容器中執行此jar包。

1.3 構建,鏡像

docker build -t ms/config-service .  Sending build context to Docker daemon   21.2MB  Step 1/6 : FROM ms/jdk1.8:v1   ---> 00d3c71ae0be  Step 2/6 : MAINTAINER tmp-config-service "yuhuanghui@alaxiaoyou.com"   ---> Running in a3e0038610ff   ---> 75d7642e16ec  Removing intermediate container a3e0038610ff  Step 3/6 : RUN mkdir -p /data/httpd/   ---> Running in 4b1ff33f58df   ---> f43b916f6835  Removing intermediate container 4b1ff33f58df  Step 4/6 : ADD target/alaxiaoyou-config-service-0.0.1-SNAPSHOT.jar /data/httpd/   ---> 99608e52e219  Removing intermediate container 0bd4d9130dd0  Step 5/6 : WORKDIR /data/httpd/   ---> 656a442c7ac2  Removing intermediate container d18fbdc1c6a6  Step 6/6 : ENTRYPOINT java -Xmx128m -Xss512k -jar alaxiaoyou-config-service-0.0.1-SNAPSHOT.jar   ---> Running in 0371f9addb5d   ---> c7375c40286e  Removing intermediate container 0371f9addb5d  Successfully built c7375c40286e  Successfully tagged ms/config-service:latest  [root@rancher-qa ms-config-service-tmp]# pwd  /data/httpd/ms-config-service-tmp  [root@rancher-qa ms-config-service-tmp]# docker images | grep config  ms/config-service                                                  latest                  c7375c40286e        2 minutes ago       530MB  registry.cn-hangzhou.aliyuncs.com/xmbaby-pre/ms-config             latest                  51a4521d7581        24 months ago       578MB

1.4 登錄阿里云容器鏡像服務
創建鏡像本地倉庫名稱tmp-config-service-ms
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理

1.5 鏡像push到阿里云Docker Registry
切換到rancher/server
登錄到阿里云Docker Registry
登錄Docker Registry -> 打tag -> push到Docker Registry

[root@rancher-qa ms-config-service-tmp]# docker login --username=name@alaxiaoyou.com registry.cn-hangzhou.aliyuncs.com  Password: ******  Login Succeeded  [root@rancher-qa ms-config-service-tmp]# docker tag c7375c40286e registry.cn-hangzhou.aliyuncs.com/xmbaby-tmp/tmp-config-service-ms:latest  [root@rancher-qa ms-config-service-tmp]#   [root@rancher-qa ms-config-service-tmp]# docker push registry.cn-hangzhou.aliyuncs.com/xmbaby-tmp/tmp-config-service-ms:latest  The push refers to a repository [registry.cn-hangzhou.aliyuncs.com/xmbaby-tmp/tmp-config-service-ms]  76925e259a39: Pushed   d31d3604ba1d: Pushed   96f6833b8de8: Mounted from xmbaby-tmp/ms-maven-3.3.9   071d8bd76517: Mounted from xmbaby-tmp/ms-maven-3.3.9   latest: digest: sha256:78c0489e045a1a9a7220ea941ca8b7fd6db348e5423e478a45ac2bbc2117c180 size: 1161

至此,tmp-config-service-ms鏡像交付完成。

  1. tmp-config-service-ms鏡像啟動,統一用rancher編排UI工具來啟動。
    tmp-config-service-ms服務啟動需依賴宿主機的目錄,這個目錄,是本地git倉庫項目,gitlab中為:git@xxxx.git。provider配置修改,都通過gitlab進行修改,會進行更新到本地目錄中,重啟此provider即可生效。

2.1 啟動tmp-config-service-ms服務,rancher中操作。
創建服務tmp-config-service-ms:
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理

設置卷:
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理

設置容器主機名:
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理

2.2 啟動tmp-config-service-ms容器服務。此provider只在啟動初,會找一次config-service,但此config-service服務為單點服務。不過,容器可快速銷毀和生成的特性,即使此config-service配置服務出現問題,也可立即自動重啟或手工銷毀有問題的容器,并重新生成新的config-service服務容器,此過程為秒級,是可接受配置服務為單點。
進入config-service服務容器,查看啟動情況,日志查看:
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理

三、創建gateway-service服務

網關gateway-service服務是整個微服務架構的入口,在構建provider前,必須建立先創建好網關服務。
git clone網關項目代碼,git@xxxx.git

1.創建網關項目目錄:
mkdir -p /data/httpd/ms-api-gateway-tmp/alaxiaoyou-api-gateway

[root@rancher-qa ms-api-gateway-tmp]# git clone git@xxxxx.git  Cloning into 'alaxiaoyou-api-gateway'...  remote: Counting objects: 1198, done.  remote: Compressing objects: 100% (552/552), done.  remote: Total 1198 (delta 423), reused 554 (delta 241)  Receiving objects: 100% (1198/1198), 108.00 KiB | 0 bytes/s, done.  Resolving deltas: 100% (423/423), done.  [root@rancher-qa ms-api-gateway-tmp]#   [root@rancher-qa ms-api-gateway-tmp]# ll  total 0  drwxr-xr-x 4 root root 44 Jan 14 19:10 alaxiaoyou-api-gateway  [root@rancher-qa ms-api-gateway-tmp]# pwd  /data/httpd/ms-api-gateway-tmp  [root@rancher-qa ms-api-gateway-tmp]# cd alaxiaoyou-api-gateway/  [root@rancher-qa alaxiaoyou-api-gateway]#   [root@rancher-qa alaxiaoyou-api-gateway]# ll  total 8  -rw-r--r-- 1 root root 4811 Jan 14 19:10 pom.xml  drwxr-xr-x 3 root root   18 Jan 14 19:10 src  [root@rancher-qa alaxiaoyou-api-gateway]#   [root@rancher-qa alaxiaoyou-api-gateway]# pwd  /data/httpd/ms-api-gateway-tmp/alaxiaoyou-api-gateway

在gateway-service項目目錄下,運行網關代碼打包命令:

docker run --rm -it -v /data/httpd/ms-api-gateway-tmp/alaxiaoyou-api-gateway:/data/httpd/gateway-service/ -e msname=gateway-service ms/maven-3.3.9  [root@rancher-qa alaxiaoyou-api-gateway]# docker run --rm -it -v /data/httpd/ms-api-gateway-tmp/alaxiaoyou-api-gateway:/data/httpd/gateway-service/ -e msname=gateway-service ms/maven-3.3.9  [root@rancher-qa alaxiaoyou-api-gateway]# ll  total 58436  -rw-r--r-- 1 root root 59823092 Jan 14 19:27 alaxiaoyou-api-gateway-0.0.1-SNAPSHOT.jar  -rw-r--r-- 1 root root      343 Jan 14 19:28 dockerfile  drwxr-xr-x 3 root root       20 Jan 14 19:28 gateway-service  -rw-r--r-- 1 root root     4811 Jan 14 19:10 pom.xml  drwxr-xr-x 3 root root       18 Jan 14 19:10 src

此打包命令,目前并未成功將包alaxiaoyou-api-gateway-0.0.1-SNAPSHOT.jar打出,該包從其他機器cp過來。待解決。

2.創建網關項目dockerfile
vim /data/httpd/ms-api-gateway-tmp/alaxiaoyou-api-gateway/dockerfile

FROM ms/jdk1.8:v1  MAINTAINER gateway-service "name@alaxiaoyou.com"  RUN mkdir /data/httpd/ -p  ADD gateway-service/target/alaxiaoyou-api-gateway-0.0.1-SNAPSHOT.jar /data/httpd/  EXPOSE 80  #此處雖然開啟了80端口映射,但是并沒有做link鏈接  WORKDIR /data/httpd/  ENTRYPOINT java -jar alaxiaoyou-api-gateway-0.0.1-SNAPSHOT.jar

說明:ENTRYPOINT進入容器中執行此jar包。

3.構建,鏡像

[root@rancher-qa alaxiaoyou-api-gateway]# docker build -t ms/tmp-gateway-service .  Sending build context to Docker daemon  60.27MB  Step 1/7 : FROM ms/jdk1.8:v1   ---> 00d3c71ae0be  Step 2/7 : MAINTAINER gateway-service "yuhuanghui@alaxiaoyou.com"   ---> Using cache   ---> bf3f97f0bda2  Step 3/7 : RUN mkdir -p /data/httpd/   ---> Running in da244cb64552   ---> 743c35c3c4d8  Removing intermediate container da244cb64552  Step 4/7 : ADD gateway-service/target/alaxiaoyou-api-gateway-0.0.1-SNAPSHOT.jar /data/httpd/   ---> 9e45fe4b20a4  Removing intermediate container 8e3022556068  Step 5/7 : EXPOSE 80   ---> Running in e4dbaaa58778   ---> 299398d4af46  Removing intermediate container e4dbaaa58778  Step 6/7 : WORKDIR /data/httpd/   ---> 2e6bc4bdf39d  Removing intermediate container 8428111522be  Step 7/7 : ENTRYPOINT java -jar alaxiaoyou-api-gateway-0.0.1-SNAPSHOT.jar   ---> Running in 8ce9968b7bef   ---> c2f59d36052d  Removing intermediate container 8ce9968b7bef  Successfully built c2f59d36052d  Successfully tagged ms/tmp-gateway-service:latest  [root@rancher-qa alaxiaoyou-api-gateway]#   [root@rancher-qa alaxiaoyou-api-gateway]# docker images|grep gate  ms/tmp-gateway-service                                               latest                  c2f59d36052d        16 seconds ago      569MB  registry.cn-hangzhou.aliyuncs.com/xmbaby-test/test-gateway-ms        latest                  d86bef9f01e9        14 months ago       617MB

4.登錄阿里云容器鏡像服務
創建本地倉庫名稱:tmp-gateway-service-ms
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理

5.鏡像push到阿里云Docker Registry
切換到rancher/server
登錄到阿里云Docker Registry
登錄Docker Registry -> 打tag -> push到Docker Registry

[root@rancher-qa alaxiaoyou-api-gateway]# docker login --username=name@alaxiaoyou.com registry.cn-hangzhou.aliyuncs.com  Password:   Login Succeeded  [root@rancher-qa alaxiaoyou-api-gateway]# docker tag c2f59d36052d registry.cn-hangzhou.aliyuncs.com/xmbaby-tmp/tmp-gateway-service-ms  [root@rancher-qa alaxiaoyou-api-gateway]#   [root@rancher-qa alaxiaoyou-api-gateway]# docker push registry.cn-hangzhou.aliyuncs.com/xmbaby-tmp/tmp-gateway-service-ms  The push refers to a repository [registry.cn-hangzhou.aliyuncs.com/xmbaby-tmp/tmp-gateway-service-ms]  29ffcfda7ded: Pushed   202759902df6: Pushed   96f6833b8de8: Mounted from xmbaby-tmp/tmp-config-service-ms   071d8bd76517: Mounted from xmbaby-tmp/tmp-config-service-ms   latest: digest: sha256:825a0ec026c1f7c6eea01c2e5236c42dba11209b17ccd2ffad2b314c99b58b2d size: 1161

6.鏡像查看:
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理

至此,gateway-service-ms鏡像交付完成。


用rancher編排UI工具來???動gateway-service:

1.進入rancher應用棧添加服務。因為網關gateway服務需映射80端口至宿主機,因此,創建容器選擇“總是在每臺主機上運行一個此容器的實例”。映射80端口。添加關聯的目標服務。
網關服務gateway-service啟動會連接關聯的目標服務config-service,config-service是通過git管理的config配置項目來獲取配置信息給網關服務。關聯Zookeeper集群注冊服務。
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理

2.自動重啟選擇“從不(僅啟動一次)”:
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理

3.對于網關服務,可使用docker本身來管理內存分配,可進行動態調整:
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理

4.進入容器查看gateway-service服務啟動。
Docker微服務-鏡像構建交付和使用Rancher進行容器創建管理

自此,網關服務gateway-service添加完成。

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
18禁网站在线永久免费观看| A一区二区三区乱码在线 | 欧| 日本熟妇人妻XXXXXHD| 啊灬啊灬啊灬啊灬高潮了| 亚洲欧美日本中文字不卡| 熟妇的奶头又大又粗视频| 欧美成人精品第一区二区三区| 久久精品国产国产精品四凭| 国产亲子伦ⅩⅩⅩⅩX熟妇| 成 人 网 站 在线 看 免费| 377人体粉嫩噜噜噜| 一边做饭一边躁狂的原因分析| 亚洲AV无码成H人在线观看 | 亚洲AV性色精品国产小电影| 丝袜一区二区三区在线播放| 人人妻人人澡人人| 男女作爱免费网站| 免费A级毛片无码无遮挡内射| 久久国产精品无码网站| 国内精品人妻无码久久久影院导航| 99久久精品无码专区| 在糖心VLOG唐伯虎女主角是谁| 亚洲熟妇无码AV在线少妇| 亚洲国产成人久久综合三区| 亚拍精品一区二区三区探花| 无码精品、日韩专区| 熟妇人妻无乱码中文字幕真矢织江 | 久久久久久亚洲AV成人无码国产| 精品久久国产综合婷婷五月| 国产午夜无码视频在线观看| 国产日产欧产精品精品推荐| 久久久久夜夜夜综合国产| 久久精品网站免费观看| 久久精品国产一区二区三| 秋霞鲁丝片成人无码| 日99久9在线 | 免费| 日本高清在线视频WWW色 | www高潮无码免费看| ZZTT166.CCM黑料| 国产日产免费高清欧美一区| 毛片无码中文字幕| 男女爽到高潮的免费网站| 台湾MD豆传媒一区二区| 无码国产色欲XXXX视频| 尤物193在线人妻精品免费| 玉蒲团2之玉女心经| 第二书包网高H肉辣文| 国产馆AV超薄肉色丝袜| 国产午夜福利亚洲第一| 男生女生一起相差差差30| 欧美熟老妇人多毛OOXⅩ| 人人妻人人澡人人爽欧美精品| 亚洲AV日韩AV高潮喷无码| AV蜜臀在线网站| 第一章少妇初尝云雨| 久久AV无码精品人妻系列| 日本一卡2卡3卡4卡| 亚洲熟妇色自偷自拍另类| 国产CHINESE男男GAYGAY网站| 国产精品第一区揄拍无码| 国精产品一区一区三区有限在线| 欧美成人在线最新| 亚洲成人AV免费| 中文乱码字幕视频观看网站免费 | 色噜噜影院狠狠狠噜| 无码精品国产VA在线观看| 又大又大粗又长又硬又爽| 国产精华最好的产品有哪些| 男人J桶进女人P无遮挡在线观看| 亚洲 欧美 激情 小说 另类| 啊灬用力灬啊灬啊灬啊灬电子书| 久久99热精品免费观看| 天堂中文А√在线官网| 亚洲国产精品悠悠久久琪琪| 中国老妇XXXX性开放| 不惑女人的扭曲生活| 国产乱妇无码大片在线观看| 精品少妇人妻AV一区二区三区 | 中文在线最新版天堂8| 国产亚洲午夜高清国产拍精品| 久久久久精品国产亚洲AV麻豆 | 又黑又肥的60岁岳| 国产无遮挡无码视频免费软件| 久久WWW免费人成_看片中文| 天堂在/线中文在线资源8| JAPANESEXXXⅩHD乱| 国产精品三级在线观看无码| 久久久无码精品亚洲日韩蜜臀浪潮 | 亚洲AV无码成电影在线播放| 亚洲乱码日产精品BD| AV无码中文一区二区三区四区 | 亚洲熟妇AV一区二区三区| 国产精品久久久久久无毒不卡| 久久国产高潮流白浆免费观看| 无码国内精品久久人妻蜜桃| 被老头玩弄邻居人妻中文字幕| 国产性色ΑV视频免费| 日韩人妻无码精品专区90618| 午夜理论电影在线观看亚洲| 在线观看无码AV网站永久| 韩国青草自慰喷水无码直播间| 内射人妻无码色AV麻豆去百度搜| 亚洲欧洲第一的日产SUV| 国产精品夜间视频香蕉| 少妇高潮喷水久久久久久久久久 | 精品国产AⅤ无码一区二区| 无码免费无线观看在线视| 野花视频在线观看最新| 不卡高清AV手机在线观看| 男女一边摸一边做爽爽| 在线天堂中文最新版WWW| 久久精品国产亚洲AVAPP下载| 亚洲成AV人片在线观看无码不卡| 国产精品自在在线午夜| 天黑黑影院在线观看免费中文| 成人无码WWW免费视频| 久久久精品妓女影院妓女网| 亚洲VA欧美VA国产VA综合| 波多野结衣的影片| 人妻AV一区二区三区精品| ASS年轻少妇BBWPIC精品| 妺妺窝人体色WWW在线下载| 西西里大但人文艺术~任汾| 8AV国产精品爽爽ⅤA在线观看 | 秋霞电影网免费观看| 97久久超碰福利国产精品…| 男人扒开女人下面猛进猛出| 中文精品久久久久国产网址| 麻豆精品传媒一二三区| 性──交──性──乱| 宝贝儿感受到它对你的爱了吗小说| 女儿国在线观看免费版高清| 亚洲国产精品无码第一区二区三区| 国产美女极度色诱视频WWW| 人妻无码AⅤ中文系列久久免费| FREE嫩白18SEⅩ性HD处| 人妻丰满熟妇无码区免费| 中国老太太WBBHD| 免费无码一区二区三区蜜桃| 777成了乱人视频| 强被迫伦姧在线观看无码| 伊在人亚洲香蕉精品区| 国精产品一区一区三区有限公司| 小SAO货CAO得你舒服吗男男| 狠狠无码人妻精品一区二区蜜桃| 四虎国产精品永久在线| 国产高潮刺激叫喊视频| 性生大片免费观看性| 久草热8精品视频在线观看| 五月香丁激情欧美啪啪| 国精一二三区别免费| 亚洲国模私拍人体GOGO| 久久一日本道色综合久久| 亚洲国产精品无码久久98蜜桃| 久久精品国产导航| 51国偷自产一区二区三区| 人妻无码ΑV中文字幕久久| 国产99在线 | 免费| 日韩精品一区二区三区在线观看| 国产AV无码专区亚汌A√| 亚洲AV嫩草AV极品在线观看| 久久WWW色情成人免费观看| 最新国产乱人伦偷精品免费网站| 久久久久久久极品内射| 99久久久国产精品免费| 三上悠亚SSⅠN939无码播放| おまえの母亲をだます怎么读| 色老板精品无码免费视频| 国产裸拍裸体视频在线观看| 亚洲欧美偷拍内射白浆| 女人下面被舔视频免费播放电影| 大又大又粗又硬又爽少妇毛片| 性做久久久久久免费观看| 久久亚洲精品无码播放| 八戒八戒WWW在线观看| 強暴強姦AV正片一区二| 国产精品VA在线观看无码| 亚洲一线产区二线产区| 久久久久久久精品成人热小说| JAVAPARSER偷乱中国| 秘密列车在线全集免费观看| 又黑又肥的60岁岳| 日韩AⅤ无码免费播放| 成人日韩熟女高清视频一区| 亚洲 欧美 国产 制服 动漫| 老师办公室被吃奶好爽在线观看| 在线观看大片免费播放器| 日韩激情无码免费毛片| 激情人妻另类人妻伦| 亚洲人成色777777在线观看| 欧美激情精品久久久久久| 啊~CAO死你个小SAO货视频| 无线乱码一二三区免费看 | 孩交精品XXXX视频视频| 97人妻碰碰碰久久久久| 欧美一级 片内射黑人i| YY111111人妻影院| 亚洲AV无码国产在丝袜APP| 欧美〇〇无码黑人大战野结衣| 啊灬啊灬啊灬快灬高潮了I|