开发者社区> 问答> 正文

构建 jdk1.8的镜象, 是否有其它的办法能够精减镜象的么?

构建 jdk1.8的镜象
正文:
使用 Alpine 构建镜象发现一个现象,基础的 Alpine 只有 7.5mb, 但是构建完 jdk8 之后,就变成了 410MB, 是否有其它的办法能够精减镜象的么?

FROM alpine:latest
ADD jdk-8u202-linux-x64.tar.gz /usr/local
RUN sed -i "s@https://dl-cdn.alpinelinux.org/@https://repo.huaweicloud.com/@g" /etc/apk/repositories \ 
    && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo "Asia/Shanghai" > /etc/timezone && rm -rf /var/cache/apk && rm -rf /usr/local/jdk1.8.0_202/src.zip && rm -rf /usr/local/jdk1.8.0_202/javafx-src.zip \
    && apk --no-cache add ca-certificates && update-ca-certificates 
ENV JAVA_HOME=/usr/local/jdk1.8.0_202
ENV CLASSPATH=$JAVA_HOME/bin
ENV PATH=.:$JAVA_HOME/bin:$PATH

展开
收起
OSC开源社区 2024-05-31 17:18:46 43 0
2 条回答
写回答
取消 提交回答
  • 你完全可以用现成的jdk镜像,比如 eclipse-temurin:8-jdk-alpine 180MB,既然你都用alpine,更应该直接用jre,139MB。另外你这在第二条命令里删除 文件是没用的,因为你在 上一条ADD 里放进来的文件依然在镜像里,只是存在于不同的层。你应该直接把 .tar.gz 里的给删掉,然后再ADD

    2024-06-05 18:59:26
    赞同 展开评论 打赏
  • 可以将构建过程分为两个或多个阶段。在第一个阶段安装和配置所有依赖(如JDK),然后在第二个阶段只复制所需的文件

    2024-05-31 18:35:34
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载