Maven打包构建Docker镜像并推送到仓库
创始人
2024-06-01 14:55:35
0

Maven打包构建Docker镜像并推送到仓库

文章目录

  • Maven打包构建Docker镜像并推送到仓库
  • 一,服务器Docker配置
  • 二,本地项目maven配置
    • 2.1 pom.xml
    • 2.2 dockerfile
    • 2.3 验证
    • 2.4 统一dockerfile

对于开发完成的服务要发布至服务器Docker时,我刚学习了解Docker时构建镜像方式是将我的本地服务先通过maven打包称为jar包,然后再上传至我的服务器上,通过Dockerfile将其构建成为镜像。后来才了解了直接通过maven命令直接打包构建的方式,以下是完成这一操作的步骤。

一,服务器Docker配置

修改daemon.json文件,开放端口2375

"hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]

我的文件如下所示:

{"insecure-registries":["10.xx.xx.xx:5000"],"hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]
}
{
"graph":"/Data/docker"
}

二,本地项目maven配置

2.1 pom.xml

在项目的pom文件引入docker-maven-plugin插件

com.spotifydocker-maven-plugin1.2.2buildinstallbuildhttp://10.xx.xx.xx:237510.xx.xx.xx:5000/${project.artifactId}:${docker.tag}${project.basedir}/src/main/docker/${project.build.directory}${project.build.finalName}.jar3200010.xx.xx.xx:5000${docker.push}

重要配置解释:

  • dockerHost:docker所在服务器的ip和开放的端口
  • imageName:最终构建的镜像名称
  • dockerDirectory:本地dockerfile文件存放路径
  • targetPath:本地jar包生成位置
  • registryUrl:服务器docker的仓库地址
  • pushImage:是否在构建镜像后同时推送到Docker仓库

2.2 dockerfile

在本地项目的src/main下创建docker目录,在docker目录下创建dockerfile文件

FROM 10.xx.xx.xx:5000/java
VOLUME /tmp
ENV LANG C.UTF-8
COPY *.jar app.jar
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 
RUN echo "Asia/Shanghai" > /etc/timezone 
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom", "-Djava.util.Arrays.useLegacyMergeSort=true", "-jar","app.jar"]

2.3 验证

此时,对该项目进行mvn install时,相当于会同时进行docker:build的动作,将本地项目jar包构建成镜像到服务器中

2.4 统一dockerfile

如果每个服务的镜像构建没有差异,可以将dockerfile从子项目中抽出来,就不需要在每一个项目模块中都创建相同的文件,直接放在项目根路径下就可以进行通用,同时修改pom配置

	${project.parent.basedir}/docker

此时的dockerfile存储位置为项目父级目录的docker文件夹下。

相关内容

热门资讯

热点推荐“丫丫竞技到底有没有透... 您好:丫丫竞技确实真的有挂,软件加微信【7198902】确实是有挂的,很多玩家在这款游戏中打牌都会发...
热点推荐“掌悦开原麻将到底有没... 掌悦开原麻将这个游戏其实有挂的,确实是有挂的,需要了解加客服微信:【7198902】, 很多玩家在这...
热点推荐“JJ斗地主到底有没有... 热点推荐“JJ斗地主到底有没有透视挂吗”原来真的有挂1、让任何用户在无需AI插件第三方神器的情况下就...
热点推荐“MintlLedge... 热点推荐“MintlLedgers到底有没有透视挂吗”原来真的有挂;原来确实真的有挂(需添加指定薇7...
热点推荐“小唐乐家园到底有没有... 热点推荐“小唐乐家园到底有没有透视挂吗”原来真的有挂;原来确实真的有挂(需添加指定薇7198902获...
热点推荐“橘子派对到底有没有透... 热点推荐“橘子派对到底有没有透视挂吗”原来真的有挂是一款可以让一直输的玩家,快速成为一个“必胜”的a...
热点推荐“峰游科技到底有没有透... 热点推荐“峰游科技到底有没有透视挂吗”原来真的有挂是一款可以让一直输的玩家,快速成为一个“必胜”的a...
热点推荐“中至杭州麻将到底有没... 您好:中至杭州麻将确实真的有挂,软件加微信【7198902】确实是有挂的,很多玩家在这款游戏中打牌都...
热点推荐“超跑捕鱼到底有没有透... 热点推荐“超跑捕鱼到底有没有透视挂吗”原来真的有挂一、超跑捕鱼AI软件牌型概率发牌机制”必胜“技巧 ...
热点推荐“湖南快三到底有没有透... 热点推荐“湖南快三到底有没有透视挂吗”原来真的有挂是一款可以让一直输的玩家,快速成为一个“必胜”的a...
热点推荐“友约山西麻将到底有没... 热点推荐“友约山西麻将到底有没有透视挂吗”原来真的有挂一、友约山西麻将AI软件牌型概率发牌机制”必胜...
热点推荐“科学计算器到底有没有... 热点推荐“科学计算器到底有没有透视挂吗”原来真的有挂1、让任何用户在无需AI插件第三方神器的情况下就...
热点推荐“牵手跑得快到底有没有... 热点推荐“牵手跑得快到底有没有透视挂吗”原来真的有挂一、牵手跑得快AI软件牌型概率发牌机制”必胜“技...
热点推荐“湖南跑胡子到底有没有... 热点推荐“湖南跑胡子到底有没有透视挂吗”原来真的有挂;原来确实真的有挂(需添加指定薇7198902获...
热点推荐“越乡游斗地主到底有没... 亲,越乡游斗地主这款游戏可以开挂的,确实是有挂的,。但是开挂要下载第三方辅助软件,越乡游斗地主的开挂...
热点推荐“无为好运麻将到底有没... 您好,无为好运麻将这款游戏可以开挂的,确实是有挂的,需要了解加微{7198902}很多玩家在这款游戏...
热点推荐“堆金城棋牌到底有没有... 热点推荐“堆金城棋牌到底有没有透视挂吗”原来真的有挂一、堆金城棋牌AI软件牌型概率发牌机制”必胜“技...
热点推荐“欢乐茶馆到底有没有透... 欢乐茶馆这个游戏其实有挂的,确实是有挂的,需要了解加客服微信:【7198902】, 很多玩家在这款游...
热点推荐“微乐河北麻将到底有没... 热点推荐“微乐河北麻将到底有没有透视挂吗”原来真的有挂;原来确实真的有挂(需添加指定薇7198902...
热点推荐“多乐掼蛋到底有没有透... 热点推荐“多乐掼蛋到底有没有透视挂吗”原来真的有挂;原来确实真的有挂(需添加指定薇7198902获取...