我在CCE中选择的上传方式是客户端上传这样上传的速度比较快,
我自己用的是windows版docker做客户端,不用虚拟机做客户端这样就不需要搭建虚拟机环境,以后每次需要上传镜像到云镜像服务器时也就不需要启动虚拟机;
本地服务器通常在公司局域网部署,本地服务器需具有项目工程构建的环境,
如下: 1、jdk1.8
2、maven3.3.0以上
3、Git
4、Docker1.11.2版本以上
构建脚本
为了方便镜像构建,特编写shell脚本,下边以xc-service-portalview为例,在xc-service-portalview工程根目录下定义image_build.sh脚本文件,如下图:
image_build.sh 构建脚本
#!/bin/bash
#删除原有xc‐service‐portalview镜像
docker rmi xc‐service‐portalview:1.0‐SNAPSHOT
docker rmi swr.cn‐north‐1.myhuaweicloud.com/xc‐edu/xc‐service‐portalview:$1
#将parent、model、utils、common基础工程打包,上传到maven本地仓库mvn ‐f ../xc‐framework‐parent/pom.xml install
mvn ‐f ../xc‐framework‐model/pom.xml install mvn ‐f ../xc‐framework‐utils/pom.xml install mvn ‐f ../xc‐framework‐common/pom.xml install
#使用maven插件构建docker镜像
mvn ‐f pom_docker.xml clean package ‐DskipTests docker:build
#修改镜像的组织名,以便推送到个人组织内,注意这里xc‐edu‐cloud‐01是新添加的组织名
docker tag xc‐service‐portalview:1.0‐SNAPSHOT swr.cn‐north‐1.myhuaweicloud.com/xc‐edu‐cloud‐ 01/xc‐service‐portalview:$1
#执行docker push 将本地服务器上的镜像推送到云平台镜像仓库
docker push swr.cn‐north‐1.myhuaweicloud.com/xc‐edu‐cloud‐01/xc‐service‐portalview:$1
Dockerfile
上边构建脚本中 使用maven插件执行docker:build构建镜像,此构建需要编写Dockerfile文件在src/main/resouces下添加Dockerfile文件
文件内容如下:
FROM java:8
ENV ARTIFACTID xc‐service‐portalview ENV ARTIFACTVERSION 1.0‐SNAPSHOT
ENV HOME_PATH /home WORKDIR $HOME_PATH
ADD /$ARTIFACTID‐$ARTIFACTVERSION.jar $HOME_PATH/$ARTIFACTID.jar
ENTRYPOINT ["java", "‐jar", "xc‐service‐portalview.jar"]
配置maven插件:
新增pom_docker.xml文件:
文件内容是在原有pom.xml的基础上增加build标签,如下定义了docker-maven-plugin插件创建镜像的参数:
<build>
<finalName>${project.artifactId}‐${project.version}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐maven‐plugin</artifactId>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker‐maven‐plugin</artifactId>
<version>1.0.0</version>
<!‐‐docker镜像相关的配置信息‐‐>
<configuration>
<!‐‐镜像名,这里用工程名‐‐>
<imageName>${project.artifactId}‐${project.version}</imageName>
<!‐‐Dockerfile文件所在目录‐‐>
<dockerDirectory>${project.basedir}/src/main/resources</dockerDirectory>
<!‐‐TAG,这里用工程版本号‐‐>
<imageTags>
<imageTag>${project.version}</imageTag>
</imageTags>
<imageName>${project.artifactId}:${project.version}</imageName>
<!‐‐构建镜像的配置信息‐‐>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.artifactId}‐${project.version}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
执行构建
1、登录本地服务器
2、git clone 将git仓库的工程代码下载到本地服务器
3、进入xc-service-portalview目录,执行sh image_build.sh
执行成功,镜像上传到云平台镜像仓库
登录云平台,查询镜像仓库:
Portalview部署
创建无状态工作负载:
填写工作负载信息
选择镜像
填写容器规格
配置MongoDB连接地址
xc-service-portalview需要连接mongodb数据库,在src/main/resources/application.yml配置文件中,配置如 下:
1、首先配置mongodb集群内部的访问方式
添加成功,如下mongodb在集群内容的访问地址为:10.247.102.74:27017
2、在创建xc-service-portalview工作负载中配置环境变量
6.4.2.5 工作负载访问设置
为了方便在外网测试xc-service-portalview接口,这里配置xc-service-portalview可以外网访问
创建成功
项目地址:
链接:https://pan.baidu.com/s/1mv7L5jSW0pzpYevjjbfFWw
提取码:0hp6