我院新闻
构建Docker JDK17镜像包
发布时间:2024-04-01

文章目录

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 <远程镜像库地址及别名>
[返回上级]