1、下载JDK包至本地, 并解压缩
官网:https://www.oracle.com/java/
示例下载地址:
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz
tar -zxvf jdk-17_linux-x64_bin.tar.gz
2、准备字体库文件,避免日志中文乱码(百度下载)
msyhbd.ttc msyhl.ttc msyh.ttc simsun.ttc
3、选一个你舒服的目录, 编写构建脚本
vim Dockerfile
填写以下内容
FROM centos:7
MAINTAINER g
#字体库安装
RUN yum -y install fontconfig
RUN mkdir -p /usr/share/fonts/
COPY simsun.ttc /usr/share/fonts/
COPY msyh.ttc /usr/share/fonts/
COPY msyhbd.ttc /usr/share/fonts/
COPY msyhl.ttc /usr/share/fonts/
RUN chmod 755 /usr/share/fonts/*
RUN fc-cache -fv
#JDK安装
ADD jdk-17.0.8 /usr/local/java/
ENV JAVA_HOME=/usr/local/java/
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
#回到主目录, 授权root
WORKDIR /
USER root
4、开始构建镜像
#构建镜像
docker build -t jdk17 .
#查看镜像,获取image id, 可以选择启动或者推送
docker images
# 以下用于推送, 前提是得提前docker login账号
# 标记
docker tag <image id> <远程镜像库地址及别名>
# 推送
docker push <远程镜像库地址及别名>