fix: 使用entrypoint脚本自动修复挂载目录权限

- 容器以root启动,自动修复权限后切换到appuser运行
- 既保证安全性,又简化部署流程
- 无需手动chown目录
This commit is contained in:
2026-05-03 15:10:12 +08:00
parent 5682f6fbb0
commit 802fd7319e
3 changed files with 19 additions and 7 deletions
+5 -6
View File
@@ -32,7 +32,7 @@ RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main ./cmd/main.g
FROM alpine:latest
RUN apk --no-cache add ca-certificates tzdata
RUN apk --no-cache add ca-certificates tzdata su-exec
RUN addgroup -g 1001 -S appgroup && \
adduser -u 1001 -S appuser -G appgroup
@@ -41,14 +41,13 @@ WORKDIR /app
COPY --from=backend-builder /app/main .
COPY --from=backend-builder /app/config.yaml .
COPY docker-entrypoint.sh /usr/local/bin/
RUN mkdir -p /app/data /app/uploads && \
RUN chmod +x /usr/local/bin/docker-entrypoint.sh && \
mkdir -p /app/data /app/uploads && \
chown -R appuser:appgroup /app
USER appuser
EXPOSE 8080
VOLUME ["/app/uploads"]
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["./main"]