使用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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM