29 lines
955 B
Docker
29 lines
955 B
Docker
# 使用 openjdk 17-jdk-alpine 作为基础镜像
|
||
FROM openjdk:17-jdk-alpine
|
||
|
||
# 安装 tini,用于容器的进程初始化和管理
|
||
RUN apk --update --no-cache add tini
|
||
|
||
# 时区修改
|
||
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
|