1
This commit is contained in:
19
Dockerfile
19
Dockerfile
@@ -31,6 +31,13 @@ RUN BUILD_TIME=${BUILD_TIME:-$(date -u +"%Y-%m-%dT%H:%M:%SZ")} && \
|
||||
-o tyapi-server \
|
||||
cmd/api/main.go
|
||||
|
||||
# 创建字体文件 tar 包(如果字体文件存在)
|
||||
RUN if [ -d internal/shared/pdf/fonts ] && [ "$(ls -A internal/shared/pdf/fonts 2>/dev/null)" ]; then \
|
||||
tar czf /tmp/fonts.tar.gz -C internal/shared/pdf/fonts .; \
|
||||
else \
|
||||
touch /tmp/fonts.tar.gz; \
|
||||
fi
|
||||
|
||||
# 第二阶段:运行阶段
|
||||
FROM alpine:3.19
|
||||
|
||||
@@ -53,9 +60,17 @@ COPY --from=builder /app/tyapi-server .
|
||||
COPY config.yaml .
|
||||
COPY configs/ ./configs/
|
||||
|
||||
# 复制字体文件(PDF生成需要)- 创建目录结构并复制字体文件
|
||||
# 复制字体文件(PDF生成需要)
|
||||
RUN mkdir -p ./internal/shared/pdf/fonts
|
||||
COPY --from=builder /app/internal/shared/pdf/fonts/ ./internal/shared/pdf/fonts/
|
||||
# 从 builder 阶段复制字体 tar 包并解压(如果存在字体文件)
|
||||
COPY --from=builder /tmp/fonts.tar.gz /tmp/fonts.tar.gz
|
||||
RUN if [ -s /tmp/fonts.tar.gz ]; then \
|
||||
tar xzf /tmp/fonts.tar.gz -C ./internal/shared/pdf/fonts/ && \
|
||||
rm /tmp/fonts.tar.gz; \
|
||||
else \
|
||||
echo "字体文件不存在,将在运行时通过 volume 挂载或手动复制"; \
|
||||
rm /tmp/fonts.tar.gz; \
|
||||
fi
|
||||
|
||||
|
||||
# 暴露端口
|
||||
|
||||
Reference in New Issue
Block a user