Loading

jdk17.0.4.1镜像

oraclejdk17镜像打包

oracle jdk17免费商用条款持续至2024年9月,可以放心用于商用,下载地址如下

Java Downloads | Oracle

下载jdk及编写Dockerfile

[root@k8s02 jdk]# ll
total 177004
-rw-r--r-- 1 root root       439 Aug 24 15:19 Dockerfile
-rw-r--r-- 1 root root 181244275 Aug 22 11:28 jdk-17.0.4.1_linux-x64_bin.tar.gz
[root@k8s02 jdk]# cat Dockerfile

FROM centos:7

WORKDIR /data

RUN mkdir /usr/java/
ADD jdk-17.0.4.1_linux-x64_bin.tar.gz /usr/java/
CMD ["yum install -y iputils"]

ENV JAVA_HOME /usr/java/jdk-17.0.4.1
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/bin/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH
ENV LANG en_US.UTF-8

RUN /bin/sh -c set -ex

RUN chmod 755 -R /usr/java/jdk-17.0.4.1

CMD ["java -version"]
CMD ["jshell"]

构建打包jdk镜像

docker build -t oraclejdk:17.0.4.1 .

测试打包好的jdk镜像

[root@k8s02 app]# ll
total 126768
-rw-r--r-- 1 root root       328 Aug 24 15:30 Dockerfile
-rw-r--r-- 1 root root 129799346 Aug 24 15:04 saas.jar
-rw-r--r-- 1 root root       329 Aug 24 15:28 start.sh
[root@k8s02 app]# cat Dockerfile 
From oraclejdk:17.0.4.1
# Import
ARG JAR_NAME

RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" >/etc/timezone 

WORKDIR /data
COPY $JAR_NAME .
#COPY application.properties ./config/
COPY start.sh .

EXPOSE 80

ENTRYPOINT ["sh", "/data/start.sh"]
[root@k8s02 app]# cat start.sh 
jarFile=$(ls /data/*.jar -t | head -n 1)
java -server -XX:+UseG1GC -XX:G1HeapWastePercent=0 -XX:+G1UseAdaptiveIHOP -XX:+UseStringDeduplication -XX:MaxGCPauseMillis=200 -Xms4g -Xmx4g -XX:+UseCompressedOops -Djava.security.egd=file:/dev/./urandom --add-modules ALL-SYSTEM --add-opens java.base/java.lang=ALL-UNNAMED -jar $jarFile > nohup.out

构建应用程序镜像

[root@k8s02 app]# docker build --build-arg JAR_NAME=`ls target/*.jar` -t saas:v2 .
[root@k8s02 app]# docker run -itd saas:v2
[root@k8s02 app]# docker exec -it beautiful_dewdney /bin/bash
[root@a0d4d3121c9a data]# ls
Dockerfile  nohup.out  saas.jar  start.sh

测试安装的ping命令,有时候在容器内会使用到ping功能

[root@a0d4d3121c9a data]# ping 192.168.1.59
PING 192.168.1.59 (192.168.1.59) 56(84) bytes of data.
64 bytes from 192.168.1.59: icmp_seq=1 ttl=64 time=0.112 ms
64 bytes from 192.168.1.59: icmp_seq=2 ttl=64 time=0.086 ms

检查没有问题以后可以上传到镜像库

docker tag oraclejdk:17.0.4.1 idealgkm/oraclejdk:17.0.4.1
docker login
docker push idealgkm/oraclejdk:17.0.4.1
posted @ 2022-08-24 16:19  萝卜青菜~  阅读(2283)  评论(0编辑  收藏  举报