当前位置:   article > 正文

docker使用alpine构建jdk21镜像_docker jdk21

docker jdk21

1.问题描述

        项目使用的是springboot3.0,进行docker打包的时候需要jdk17以上,索性我就使用jdk21了,但是进行docker打包的时候,没有找到jdk21的镜像包,所以就想自己打包一个。

2.遇到问题

        1.最初想要基于centOS去封装一个镜像,但是觉得这个包体会比较大,然后了解到了alpine这个基础镜像,打算使用这个作为基础镜像,最初Dockerfile如下:

  1. FROM alpine:latest
  2. # 定义环境变量,以便后续使用
  3. ENV JAVA_HOME /opt/jdk
  4. ENV PATH $PATH:$JAVA_HOME/bin
  5. # 安装必要的工具和依赖,libc6-compat用于兼容glibc环境
  6. RUN apk add --no-cache libc6-compat
  7. # 下载和解压JDK 21
  8. COPY jdk21 /opt/jdk/
  9. # 验证Java是否安装成功
  10. RUN java -version

        2.镜像打包成功了,但是java -version报错了:

        Unable to load jimage library libjimage.so

        3.最后尝试了直接使用apk add方法,最终的Dockerfile文件如下:

  1. # 1.指定基础镜像
  2. FROM alpine:latest
  3. # 2.添加说明等信息
  4. LABEL name=bkp description="jdk21 base on alpine image"
  5. # 3.安装jdk(这一步很慢,请耐心等待,我安装大概花费了10分钟)
  6. RUN apk add --no-cache --no-cache openjdk21
  7. # 4.查看java版本
  8. CMD ["java","-version"]

3.详细步骤

1.安装docker

2.拉取alpine

docker pull alpine:latest

3.进入工作目录

  1. # 路径看自己喜好就行
  2. cd workspace/docker/jdk21

4.编辑Dockerfile

vim Dockerfile

添加以下内容

  1. # 1.指定基础镜像
  2. FROM alpine:latest
  3. # 2.添加说明等信息
  4. LABEL name=bkp description="jdk21 base on alpine image"
  5. # 3.安装jdk(这一步很慢,请耐心等待,我安装大概花费了10分钟)
  6. RUN apk add --no-cache --no-cache openjdk21
  7. # 4.查看java版本
  8. CMD ["java","-version"]

5.构建镜像

注意:最后面有一个点 .

docker build -t java-alpine:21 .

6.等待构建完成

我们就得到了一个基于alpine包含jdk21的docker镜像

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/260392
推荐阅读
相关标签
  

闽ICP备14008679号