27 lines
791 B
Docker
27 lines
791 B
Docker
# Dockerfile.local - 使用本地 Go 编译后的二进制,无需拉取 golang 镜像
|
||
# 使用方式:deploy.py --mode docker --local-go
|
||
# 依赖:先由本地 go build 生成 soul-api 可执行文件
|
||
|
||
# 使用标准引用,配合 --pull=false 使用本地缓存的 alpine:3.19
|
||
FROM alpine:3.19
|
||
|
||
RUN apk add --no-cache ca-certificates tzdata wget
|
||
ENV TZ=Asia/Shanghai
|
||
|
||
RUN adduser -D -g '' appuser
|
||
WORKDIR /app
|
||
|
||
COPY soul-api .
|
||
# 微信支付等证书(须存在于构建上下文,勿在 .dockerignore 中排除)
|
||
COPY certs/ /app/certs/
|
||
|
||
# 由 devloy 传入 --build-arg ENV_FILE=(如 .env / .env.development)
|
||
ARG ENV_FILE=.env.production
|
||
COPY ${ENV_FILE} /app/.env
|
||
|
||
RUN mkdir -p /app/uploads && chown -R appuser:appuser /app
|
||
USER appuser
|
||
|
||
EXPOSE 8080
|
||
ENTRYPOINT ["./soul-api"]
|