当前位置: 代码网 > 服务器>服务器>云虚拟主机 > docker使用alpine构建jdk21镜像的详细步骤

docker使用alpine构建jdk21镜像的详细步骤

2024年05月18日 云虚拟主机 我要评论
1.问题描述项目使用的是springboot3.0,进行docker打包的时候需要jdk17以上,索性我就使用jdk21了,但是进行docker打包的时候,没有找到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镜像内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com