Docker制作JDK17镜像
项目中使用的是JDK8,不过JDK都已经上20了!赶紧玩玩高版本,说不定以后用得上
准备上传工作
下载JDK17
- JDK17.0.11
- JDK17.0.10
上传JDK并创建Dockerfile
Dockerfile文件和JDK安装包要在同一目录下!!!
文件路 径: /usr/buildJdkImage [自己创建,并非 非得用我的路径]
- 上传JDK17至以上路径
-
touch Dockerfile 或 vim Dockerfile
编写Dockerfile
#基础镜像
FROM centos:7
ENV MYPATH /usr/local
WORKDIR $MYPATH
#安装vim编辑器
RUN yum -y install vim
#安装ifconfig命令
RUN yum -y install net-tools
# 字体库安装
RUN yum -y install fontconfig
RUN mkdir -p /usr/share/fonts/
COPY ./font/simsun.ttc /usr/share/fonts/
COPY ./font/msyh.ttc /usr/share/fonts/
COPY ./font/msyhbd.ttc /usr/share/fonts/
COPY ./font/msyhl.ttc /usr/share/fonts/
RUN chmod 755 /usr/share/fonts/*
RUN fc-cache -fv
# JDK17安装
ADD jdk-17_linux-x64_bin.tar.gz /usr/local/java
# 设置JAVA_HOME环境变量
ENV JAVA_HOME=/usr/local/java/jdk-17.0.12/
# 将JDK的bin目录添加到PATH环境变量中
ENV CLASSPATH=.:$JAVA_HOME/lib/jrt-fs.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$PATH:$JAVA_HOME/bin
#校准容器时间
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/timezone
#切换容器字体编码
RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
RUN echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf
ENV LANG zh_CN.UTF-8
ENV LC_ALL zh_CN.UTF-8
关于字体库
这几个字体可以到windows中C:\Windows\Fonts 这个路径下找一下,或者去网上download ./font/simsun.ttc ./font/msyh.ttc ./font/msyhbd.ttc ./font/msyhl.ttc
build镜像
docker build
#看清楚最后面有一个点................
docker build -t image名称:标签tag .
[docker build -t centos_jdk17:17.0.11 .]
note
不会自定义镜像,权当练习Docker了,一般使用官方的openjdk就行,上面流程下来 一个jdk镜像1个多G。。。。