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
|
参考链接