refactor: 优化Dockerfile
This commit is contained in:
24
Dockerfile
24
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
|
||||
Reference in New Issue
Block a user