如何通过docker编译java项目
背景
【如何通过docker编译java项目】在之前的文章中介绍如何用docker编译前端项目,docker编译项目的有点前面已经说的很清楚了这边就不在赘述,后端开发语言较多,我们就以java为例,介绍如何用maven镜像进行编译
实现
- 我们准备一个java项目,使用maven进行包管理
- 执行以下命令进行编译
docker run -it --rm --name my-maven-project -v "/you/path/app":/usr/app -w /usr/app maven:3.8.1-openjdk-8-slim mvn clean package
将项目挂载到容器文件系统路径
/usr/app
下,-w将工作目录指定到/usr/app
下,--rm可以保证编译完删除镜像,避免占用空间。首次编译因为本地没有下载依赖所以会先下载依赖包,再执行编译打包命令,这个结果不是我们想要的,如果一个工程依赖的包很多,每次都要重新下载效率会非常低,其实只要把maven的repository目录映射出来就行
docker run -it --rm --name my-maven-project-v /u01/workspace/m2:/var/maven/.m2 -v "/you/path/app":/usr/app -w /usr/app -e MAVEN_CONFIG=/var/maven/.m2maven:3.8.1-openjdk-8-slim mvn -Duser.home=/var/maven clean package
必须指定参考 如何通过docker编译前端项目MAVEN_CONFIG
和-Duser.home
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- 如何寻找情感问答App的分析切入点
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus使用queryWrapper如何实现复杂查询
- gitlab|gitlab 通过备份还原 admin/runner 500 Internal Server Error
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)
- java中如何实现重建二叉树
- Linux下面如何查看tomcat已经使用多少线程