问题
openjdk
和oracle jdk
一些情况下并不兼容;openjdk
镜像很小只有一百朵兆,但是oracle jdk
搜到的镜像都很大.
步骤
下载最新的oracle jre 8
https://javadl.oracle.com/webapps/download/AutoDL?BundleId=242050_3d5a2bb8f8d4428bbe94aed7ec7ae784
上传到
linux
并解压
```bash
[root@node1 jdk8]# tar -xvzf jre-8u251-linux-x64.tar.gz
[root@node1 jdk8]# pwd
/root/jdk8
[root@node1 jdk8]# ll
总用量 85492
drwxr-xr-x 5 10143 10143 76 7月 9 14:04 jre1.8.0_251
-rw-r–r– 1 root root 87543611 7月 9 13:55 jre-8u251-linux-x64.tar.gz
3. 删除一些说明文档和无用包
```bash
[root@node1 jdk8]# cd jre1.8.0_251/
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
[root@node1 jre1.8.0_251]# ll
总用量 4
drwxr-xr-x 2 10143 10143 208 7月 9 13:56 bin
drwxr-xr-x 13 10143 10143 4096 7月 9 13:56 lib
drwxr-xr-x 4 10143 10143 47 3月 12 14:33 man
- 重新打包
```bash
[root@node1 jre1.8.0_251]# tar zcvf jre8.tar.gz *
[root@node1 jre1.8.0_251]# ll
总用量 43896
drwxr-xr-x 2 10143 10143 208 7月 9 13:56 bin
-rw-r–r– 1 root root 44942683 7月 9 14:04 jre8.tar.gz
drwxr-xr-x 13 10143 10143 4096 7月 9 13:56 lib
drwxr-xr-x 4 10143 10143 47 3月 12 14:33 man
5. 直接在当前目录下创建`Dockerfile`
```bash
[root@node1 jre1.8.0_251]# vim Dockerfile
编写Dockerfile
FROM docker.io/jeanblanchard/alpine-glibc
MAINTAINER wuzhiyong
ADD jre8.tar.gz /usr/java/jdk/
ENV JAVA_HOME /usr/java/jdk
ENV PATH ${PATH}:${JAVA_HOME}/bin
WORKDIR /opt
生成镜像
# 生成镜像 [root@node1 jre1.8.0_251]# docker build -t wuzhiyong/java8.0_251 . Sending build context to Docker daemon 161.1MB Step 1/6 : FROM docker.io/jeanblanchard/alpine-glibc ---> c1bfe6541128 Step 2/6 : MAINTAINER wuzhiyong ---> Using cache ---> 5e4699308c35 Step 3/6 : ADD jre8.tar.gz /usr/java/jdk/ ---> 8b6b66ec0f68 Step 4/6 : ENV JAVA_HOME /usr/java/jdk ---> Running in 26f286188aa8 Removing intermediate container 26f286188aa8 ---> 7d1501133f4c Step 5/6 : ENV PATH ${PATH}:${JAVA_HOME}/bin ---> Running in 418be370f8b9 Removing intermediate container 418be370f8b9 ---> 8a920d8285df Step 6/6 : WORKDIR /opt ---> Running in 107687a0007d Removing intermediate container 107687a0007d ---> e7a62387e585 Successfully built e7a62387e585 Successfully tagged wuzhiyong/java8.0_251:latest #查看镜像大小 [root@node1 jre1.8.0_251]# docker images | grep java8 wuzhiyong/java8.0_251 latest e7a62387e585 15 seconds ago 133MB
上传到镜像仓库,可以下载使用
docker pull hub.deri.org.cn/library/oracle_jdk_1.8_251:latest