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‐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
mave构建docker镜像Dokerfile,上传华为云镜像服务器CCE相关推荐
- 构建docker镜像并上传到阿里云仓库
1.新建项目,配置从gitee拉取项目文件2.配置Jenkinsfile和Dockerfile,并上传到gitee中 2.配置Jenkinsfile和Dockerfile,并上传到gitee中 # J ...
- springboot项目打包为docker镜像并上传nexus私服
springboot项目docker打包镜像上传Nexus私服 1.springboot项目打包为docker镜像并上传nexus私服 1.0. 必要条件 1.1.开启docker远程访问 1.2.配 ...
- docker eclipse打包_【Docker】Maven打包SpringBoot项目成Docker镜像并上传到Harbor仓库(Eclipse、STS、IDEA、Maven通用)...
写在前面 最近,在研究如何使用Maven将SpringBoot项目打包成Docker镜像并发布到Harbor仓库,网上翻阅了很多博客和资料,发现大部分都是在复制粘贴别人的东西,没有经过实践的检验,根本 ...
- docker镜像文件上传至Docker Hub
1. Docker Hub中新建存储库 https://hub.docker.com 2. 构建docker镜像文件 进入Dockerfile 文件所在的路径,构建镜像文件命令 docker imag ...
- 使用Maven构建项目Docker镜像并上传至阿里云镜像仓库
前言 前面介绍了Docker的一些安装.镜像加速.构建镜像 并推送至服务器 , 今天在前面的基础上新增配置 , 使项目可以具备构建镜像后将包推送至远端仓库的能力 Docker是什么?有什么 ...
- qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库
2019独角兽企业重金招聘Python工程师标准>>> 上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在 ...
- docker镜像打包上传
首先我们先到docker官网注册一个账号,这样我们才能将制作好的镜像上传到docker仓库,打开https://hub.docker.com/ 1.查看本地所有镜像 docker images 2.选 ...
- Docker Hub + Github 自动化构建docker镜像
自动创建(Automated Builds)功能对于需要经常升级镜像内程序来说,十分方便. 有时候,用户创建了镜像,安装了某个软件,如果软件发布新版本则需要手动更新镜像. 而自动创建允许用户通过Doc ...
- jenkins+maven+docker java项目编译、打包、构建镜像、上传私有仓库、web容器部署
本环境非常简单,主要实现如下流程功能 员工通过eclipse提交java代码---gitlab更新代码----jenkins通过maven编译打包----生成war包----制作docker镜像并上传 ...
最新文章
- 【免费获取】80+页PPT全方位解读半导体行业
- AIX和linux SSH互信
- Google Authenticator:将其与您自己的Java身份验证服务器配合使用
- 供应商关系管理SRM为企业的节流增贡献
- java相等_Java 判断相等
- android 自定义控件linearlayout,自定义控件(瀑布流,LinearLayout)
- php yield 个人小解_PHP中的性能优化利器:生成器 yield 理解
- Roslyn 入门:使用 Roslyn 静态分析现有项目中的代码
- iptables中DNAT、SNAT和MASQUERADE的理解及限速syn
- Win11、10下安装enspHCL,解决兼容问题
- msfvenom生成后门程序及利用
- 物联网-移远M26模块初识及资料分享
- 高盛发布区块链报告:从理论到实践(中文版)一
- Windows基础 加固
- android手机分辨率,xDpi,yDpi,尺寸等各种相关物理参数
- ocpc php,oCPC匹配词很乱怎么办?| SEM问答
- python对矩阵部分求和_python – numpy求和矩阵 – 按索引排
- 河北计算机四六级报名入口,四六级考试报名入口
- 并购狂魔Oracle到底在做什么战略布局
- 全球与中国矿物加工工程市场深度研究分析报告