上传到虚拟机、解压jre压缩包:
tar zxvf jre-8u251-linux-x64.tar.gz
删除解压后无用的文件:
cd jre1.8.0_251
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 /jre1.8.0_251
编写Dockerfile文件:
# using alpine-glibc instead of alpine is mainly because JDK relies on glibc
FROM docker.io/jeanblanchard/alpine-glibc
# author
MAINTAINER hxb <hxb_work@163.com>
# A streamlined jre
ADD jre8.tar.gz /usr/java/jdk/
# set env
ENV JAVA_HOME /usr/java/jdk
ENV PATH ${PATH}:${JAVA_HOME}/bin
# run container with base path:/opt
WORKDIR /opt
执行Dockerfile文件:
docker build -t jdk:1.8 .
启动一个容器查看一下:
docker run -it jdk:1.8
退出容器:
exit/Ctrl+P+Q(退出不影响容器运行)
启动一个新容器(挂载数据卷、监听IP、命名)
docker run -it --name=name -p 8080:80 -v /usr/test:/test imageID
进入一个启动的容器
docker exec -it 容器ID /bin/sh
启动/停止/重启 一个已创建的容器
docker start[stop/restart] 容器ID
构建精简JRE Docker镜像
本文详细介绍了如何从下载JRE开始,通过一系列步骤精简并打包JRE,最终利用Dockerfile构建出一个轻量级的JRE Docker镜像。包括删除不必要的文件、打包成tar.gz文件、编写及执行Dockerfile等关键步骤。

被折叠的 条评论
为什么被折叠?



