docker制作最小jre1.8环境

下载官网

1、使用的是Oracle的JRE不是openjdk。

2、因为java依赖glibc,所以基础镜像使用的是alpine-glibc而非alpine,alpine-glibc大概是11.1M。

制作jre8

方式一. 手动下载jre 自己删除不需要的文件

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
mkdir -p  /opt/docker-jre8
curl -O http://tar.matosiki.site/tar/jre-8u181-linux-x64.tar.gz

tar -vxzf  jre-8u181-linux-x64.tar.gz -C /opt/docker-jre8

cd jre1.8.0_181/

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
           
mv jre8.tar.gz /opt/docker-jre8/
cd /opt/docker-jre8/

方式二. 直接下载制作好的jre8

1
curl -O http://tar.matosiki.site/tar/jre8.tar.gz

创建Dockerfile

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# using alpine-glibc instead of alpine  is mainly because JDK relies on glibc
FROM docker.io/jeanblanchard/alpine-glibc
# author
MAINTAINER matosiki (wx11055@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

构建

1
2
3
4
5
6
docker build -t matosiki/java8:1.0 .
# 查看镜像ID
docker images
#推送到自己的仓库

docker push matosiki/java8:1.0

参考链接