Doker構建自定義的Java鏡像

構建過程

    # 宿主鏡像 https://hub.docker.com/search?q=alpine-glibc&type=image
    
    tar zxf jre-8u211-linux-x64.tar.gz
    cd jre1.8.0_211
    rm -rf COPYRIGHT LICENSE README release THIRDPARTYLICENSEREADME-JAVAFX.txt THIRDPARTYLICENSEREADME.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

    tar zcvf jre8.tar.gz *
    mv jre8.tar.gz  ../
    
    vim Dockerfile
    # using alpine-glibc instead of alpine  is mainly because JDK relies on glibc
    FROM docker.io/jeanblanchard/alpine-glibc
    # author
    MAINTAINER [email protected]
    # A streamlined jre
    ADD jre8.tar.gz /usr/java/jdk/
    # set env
    ENV JAVA_HOME /usr/java/jdk
    ENV PATH ${PATH}:${JAVA_HOME}/bin
    ENV CLASSPATH ${CLASSPATH}:${JAVA_HOME}/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
    # run container with base path:/opt
    WORKDIR /opt
    :wq
    
    # 構建鏡像
    sudo docker build -t ygsama/zj-jre:1.8.0_211 .
    sudo docker images
    # 運行鏡像
    sudo docker run -it ygsama/zj-jre:1.8.0_211
    # 推送鏡像到Docker 倉庫
    docker push ygsama/zj-jre:1.8.0_211 

目錄結構

|-- .
|-- …
|-- Dockerfile
|-- jre1.8.0_211
|-- jre8.tar.gz
|-- jre-8u211-linux-x64.tar.gz

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章