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

本文介绍了一种在CCE云平台上利用Docker客户端进行高效镜像构建及上传的方法,通过编写shell脚本和Dockerfile,实现自动化构建流程,包括镜像的构建、推送以及在云平台上的部署。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我在CCE中选择的上传方式是客户端上传这样上传的速度比较快,

我自己用的是windows版docker做客户端,不用虚拟机做客户端这样就不需要搭建虚拟机环境,以后每次需要上传镜像到云镜像服务器时也就不需要启动虚拟机;

本地服务器通常在公司局域网部署,本地服务器需具有项目工程构建的环境,

如下:  1jdk1.8                                                                                                            

             2maven3.3.0以上                                                                                      

             3Git                                                                                                                      

            4Docker1.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、登录本地服务器                                                        

2git      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 
 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_无往而不胜_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值