构建过程
# 宿主镜像 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