accounts/Dockerfile
2026-01-23 23:34:46 +08:00

42 lines
995 B
Docker
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ------------------------------
# Stage 1 — Build
# ------------------------------
FROM golang:1.25.1 AS builder
ARG GOPROXY
ENV GOPROXY=${GOPROXY}
WORKDIR /src
# 先复制 go.mod / go.sum使 Docker 构建缓存层可复用
COPY go.mod go.sum ./
RUN go mod download
# 再复制源码
COPY . .
# 编译
RUN CGO_ENABLED=0 go build -ldflags="-s -w" -o account ./cmd/accountsvc/main.go
# ------------------------------
# Stage 2 — Runtime
# ------------------------------
FROM ubuntu:24.04
WORKDIR /app
RUN apt-get update \
&& apt-get install -y --no-install-recommends ca-certificates stunnel4 gettext-base netcat-openbsd curl \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir -p /var/run/stunnel \
&& chown -R nobody:nogroup /var/run/stunnel
COPY --from=builder /src/account /usr/local/bin/account
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
COPY config /app/config
RUN chmod +x /usr/local/bin/entrypoint.sh
EXPOSE 8080
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]