首页 > 基础资料 博客日记

docker使用alpine构建jdk21镜像

2024-02-25 21:00:05基础资料围观831

这篇文章介绍了docker使用alpine构建jdk21镜像,分享给大家做个参考,收藏Java资料网收获更多编程知识

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镜像


文章来源:https://blog.csdn.net/a13258021/article/details/135125394
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云