From d8a8caf4e54f9424330587187e21cd58aaea1535 Mon Sep 17 00:00:00 2001 From: hxr <1490493387@qq.com> Date: Fri, 17 Nov 2023 23:47:07 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96Dockerfile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2d5e5e15..9815b485 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,22 +1,28 @@ -# SpringBoot单体应用部署Dockerfile +# 使用 openjdk 17-jdk-alpine 作为基础镜像 FROM openjdk:17-jdk-alpine +# 安装 tini,用于容器的进程初始化和管理 RUN apk --update --no-cache add tini -ENTRYPOINT ["tini"] -# /tmp 目录就会在运行时自动挂载为匿名卷,任何向 /tmp 中写入的信息都不会记录进容器存储层 +# 时区修改 +RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone + +# 修改 Alpine Linux 的软件包源为国内镜像源(这里使用了中国科技大学的镜像源) +RUN echo -e https://mirrors.ustc.edu.cn/alpine/v3.7/main/ > /etc/apk/repositories + +# 安装 DejaVu 字体和 fontconfig,可用于支持中文等字体渲染 +RUN apk --no-cache add ttf-dejavu fontconfig + +# 在运行时自动挂载 /tmp 目录为匿名卷,提高可移植性 VOLUME /tmp +# 将构建的 Spring Boot 可执行 JAR 复制到容器中,重命名为 app.jar ADD target/youlai-boot.jar app.jar +# 指定容器启动时执行的命令 CMD java \ -Djava.security.egd=file:/dev/./urandom \ -jar /app.jar +# 暴露容器的端口 EXPOSE 8989 -# 时区修改 -RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo 'Asia/Shanghai' >/etc/timezone - -RUN echo -e https://mirrors.ustc.edu.cn/alpine/v3.7/main/ > /etc/apk/repositories - -RUN apk --no-cache add ttf-dejavu fontconfig \ No newline at end of file