使用alpine制作最小化的JDK基础镜像

注意:这里使用的是oracle的JRE,版本是1.8。

1、解压jre包,删除根目录下文本文件,然后删除其他不必要文件。

#解压

tar xvcf jre-8u161-linux-x64.tar.gz

#进入目录

cd jre1.8.0_161/

#删除文本文件

rm -rf COPYRIGHT LICENSE README release THIRDPARTYLICENSEREADME-JAVAFX.txtTHIRDPARTYLICENSEREADME.txt Welcome.html

#删除其他无用文件

rm -rf lib/plugin.jar \

  lib/ext/jfxrt.jar \

  bin/javaws \

  lib/javaws.jar \

  lib/desktop \

  plugin \

  lib/deploy* \

  lib/*javafx* \

  lib/*jfx* \

  lib/amd64/libdecora_sse.so \

  lib/amd64/libprism_*.so \

  lib/amd64/libfxplugins.so \

  lib/amd64/libglass.so \

  lib/amd64/libgstreamer-lite.so \

  lib/amd64/libjavafx*.so \

  lib/amd64/libjfx*.so

2、重新打包所有文件(不打包也可以,在Dockerfile里ADD这个目录即可,当前精简完jre目录大小是107M,压缩后是41M)

  tar zcvf jre8.tar.gz *

3、创建Dockerfile

# 基础镜像

FROM 内网ip/仓库名/alpine:3.10

# 作者

MAINTAINER xiaobao2

# 添加glibc依赖

RUN apk --no-cache add ca-certificates && \

  wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub && \

  wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.29-r0/glibc-2.29-r0.apk && \

  apk add glibc-2.29-r0.apk

# 安装jre

ADD jre8.tar.gz /usr/java/jdk/

# 设置变量

ENV JAVA_HOME /usr/java/jdk

ENV PATH ${PATH}:${JAVA_HOME}/bin

# 运行容器的工作目录

WORKDIR /opt 

4、构建(整体大小大概是125M)

docker build -t 内网ip/仓库名/java:8 .

5、测试运行

# docker run -it 内网ip/仓库名/java:8 /opt

# java -version

 

posted @ 2019-09-05 18:06  落寞一生  阅读(7056)  评论(0编辑  收藏  举报