文章目录
构建JRE/JDK镜像
1、下载对应环境的JRE/JDK
可以去Oracle的官网去下载:https://www.oracle.com/java/technologies/downloads/
或者:https://www.java.com/en/download/manual.jsp
2、服务器上新建目录并上传下载的压缩包
示例目录是:/opt/java
新建shell脚本文件clean-java.sh,输入如下内容:
#!/bin/sh
mkdir -p /opt/java
cd /opt/java
# 解压
tar -xzvf jre-8u281-linux-x64.tar.gz
cd jre-8u281-linux-x64
# 移除多余文件
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 *
cp jre8.tar.gz ../
执行脚本(如果提示权限问题,需要执行chmod 755 -R clean-java.sh)会在当前目录生成最小化的java环境文件压缩包 jre8.tar.gz
3、进入/opt/java目录,然后创建一个Dockerfile文件
# 定制一个jre/jdk的镜像
# 引入一个Linux环境
FROM docker.io/jeanblanchard/alpine-glibc
# 添加jre/jdk到指定的目录
ADD jre8.tar.gz /usr/java/jdk/jre8
# set env
ENV LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8
ENV JAVA_HOME /usr/java/jdk/jre8
ENV PATH ${PATH}:${JAVA_HOME}/bin
# 工作目录
WORKDIR /opt/
4、通过Dockerfile生成镜像并上传到仓库
# 打包镜像
docker build -t xxxx.com/java8-base:1.0 .
# 推送到镜像仓库
docker push xxxx.com/java8-base:1.0
5、运行并验证镜像
docker run -i -t xxxx.com/java8-base:1.0 /bin/bash
// 在运行的Container中查看Java版本
Java -version