fix: 使用entrypoint脚本自动修复挂载目录权限
- 容器以root启动,自动修复权限后切换到appuser运行 - 既保证安全性,又简化部署流程 - 无需手动chown目录
This commit is contained in:
+5
-6
@@ -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"]
|
||||
|
||||
Reference in New Issue
Block a user