前言
官方提供的openjdk基础镜像,不包含mvn命令,无法用容器来打包代码。
在官方提供的镜像基础上安装maven。
前期准备,需要安装好docker。
一、安装maven
1、下载openjdk基础镜像,执行如下代码。
docker pull openjdk:17-jdk-alpine
2、使用基础镜像运行一个容器,执行如下命令。
docker run -it openjdk:17-jdk-alpine sh
3、修改镜像源地址,执行如下命令。
cat /etc/apk/repositories
https://mirrors.aliyun.com/alpine/v3.14/main
https://mirrors.aliyun.com/alpine/v3.14/community
4、下载安装maven,执行如下命令。
apk update && \
wget -O /tmp/apache-maven.tar.gz https://dlcdn.apache.org/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.tar.gz && \
mkdir -p /usr/share/maven && \
tar -zxvf /tmp/apache-maven.tar.gz -C /usr/share/maven --strip-components=1 && \
rm -f /tmp/apache-maven.tar.gz && \
ln -s /usr/share/maven/bin/mvn /usr/bin/mvn
5、检查maven是否安装完成,执行如下命令。
mvn --version
正常情况会返回如下内容。
6、构建新镜像,执行如下命令。
docker commit -m "含maven的jdk镜像" 7da01751c5bb ayzen/openjdk:17-jdk-alpine
7da01751c5bb:为上面运行的容器id。
7、至此,在openjdk镜像基础上安装maven的新镜像已完成。
二、测试验证
1、使用新镜像运行容器,执行如下命令。
docker run -it ayzen/openjdk:17-jdk-alpine sh
2、找一个Java项目测试打包,执行如下命令。
mvn clean package -DskipTests
等待一会正常情况会输出如下内容,说明已打包完成。
3、运行Java项目,执行如下命令。
java -jar target/springboot-hello-1.0-SNAPSHOT.jar
正常情况会输出如下内容,说明服务已正常运行。
4、至此、maven的测试已验证完成。
总结
因为官方提供的openjdk基础镜像不包含maven,所以需要自己动手加,步骤也比较简单。
1、下载官方的基础镜像。
2、运行镜像,在容器内安装maven,构建新镜像。
3、测试验证新镜像。
最后因本人能力有限,有什么不对的地方望各位大佬指出好让我改进,多多包含,谢谢大家。