docker使用alpine构建jdk21镜像的详细步骤
作者:白坤鹏
这篇文章主要给大家介绍了关于docker使用alpine构建jdk21镜像的详细步骤,镜像中包含了应用程序所需要的运行环境,函数库,配置,以及应用本身等各种文件,这些文件分层打包而成,需要的朋友可以参考下
1.问题描述
项目使用的是springboot3.0,进行docker打包的时候需要jdk17以上,索性我就使用jdk21了,但是进行docker打包的时候,没有找到jdk21的镜像包,所以就想自己打包一个。
2.遇到问题
1.最初想要基于centOS去封装一个镜像,但是觉得这个包体会比较大,然后了解到了alpine这个基础镜像,打算使用这个作为基础镜像,最初Dockerfile如下:
FROM alpine:latest # 定义环境变量,以便后续使用 ENV JAVA_HOME /opt/jdk ENV PATH $PATH:$JAVA_HOME/bin # 安装必要的工具和依赖,libc6-compat用于兼容glibc环境 RUN apk add --no-cache libc6-compat # 下载和解压JDK 21 COPY jdk21 /opt/jdk/ # 验证Java是否安装成功 RUN java -version
2.镜像打包成功了,但是java -version报错了:
Unable to load jimage library libjimage.so
3.最后尝试了直接使用apk add方法,最终的Dockerfile文件如下:
# 1.指定基础镜像 FROM alpine:latest # 2.添加说明等信息 LABEL name=bkp description="jdk21 base on alpine image" # 3.安装jdk(这一步很慢,请耐心等待,我安装大概花费了10分钟) RUN apk add --no-cache --no-cache openjdk21 # 4.查看java版本 CMD ["java","-version"]
3.详细步骤
1.安装docker
2.拉取alpine
docker pull alpine:latest
3.进入工作目录
# 路径看自己喜好就行 cd workspace/docker/jdk21
4.编辑Dockerfile
vim Dockerfile
添加以下内容
# 1.指定基础镜像 FROM alpine:latest # 2.添加说明等信息 LABEL name=bkp description="jdk21 base on alpine image" # 3.安装jdk(这一步很慢,请耐心等待,我安装大概花费了10分钟) RUN apk add --no-cache --no-cache openjdk21 # 4.查看java版本 CMD ["java","-version"]
5.构建镜像
注意:最后面有一个点 .
docker build -t java-alpine:21 .
6.等待构建完成
我们就得到了一个基于alpine包含jdk21的docker镜像
总结
到此这篇关于docker使用alpine构建jdk21镜像的文章就介绍到这了,更多相关docker alpine构建jdk21镜像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!