700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > mave构建docker镜像Dokerfile 上传华为云镜像服务器CCE

mave构建docker镜像Dokerfile 上传华为云镜像服务器CCE

时间:2019-08-11 01:19:06

相关推荐

mave构建docker镜像Dokerfile 上传华为云镜像服务器CCE

我在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‐SNAPSHOTdocker rmi ‐north‐/xc‐edu/xc‐service‐portalview:$1#将parent、model、utils、common基础工程打包,上传到maven本地仓库mvn ‐f ../xc‐framework‐parent/pom.xml installmvn ‐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 ‐north‐/xc‐edu‐cloud‐ 01/xc‐service‐portalview:$1#执行docker push 将本地服务器上的镜像推送到云平台镜像仓库docker push ‐north‐/xc‐edu‐cloud‐01/xc‐service‐portalview:$1

Dockerfile

上边构建脚本中 使用maven插件执行docker:build构建镜像,此构建需要编写Dockerfile文件在src/main/resouces下添加Dockerfile文件

文件内容如下:

FROM java:8ENV ARTIFACTID xc‐service‐portalview ENV ARTIFACTVERSION 1.0‐SNAPSHOTENV HOME_PATH /home WORKDIR $HOME_PATHADD /$ARTIFACTID‐$ARTIFACTVERSION.jar $HOME_PATH/$ARTIFACTID.jarENTRYPOINT ["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、gitclone将git仓库的工程代码下载到本地服务器

3、进入xc-service-portalview目录,执行shimage_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可以外网访问

创建成功

项目地址:

链接:/s/1mv7L5jSW0pzpYevjjbfFWw

提取码:0hp6

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。