Files
configcenter/Dockerfile

28 lines
903 B
Docker

FROM golang:1.25-alpine AS build
WORKDIR /src
ARG VERSION=dev
ARG VCS_REF=unknown
ARG BUILD_DATE=unknown
COPY go.mod go.sum ./
RUN go mod download
COPY cmd ./cmd
COPY internal ./internal
COPY pkg ./pkg
RUN CGO_ENABLED=0 go build -buildvcs=false -trimpath \
-ldflags="-s -w -X main.version=${VERSION} -X main.commit=${VCS_REF} -X main.buildDate=${BUILD_DATE}" \
-o /out/configcenter ./cmd/server
FROM alpine:3.21
ARG VERSION=dev
ARG VCS_REF=unknown
ARG BUILD_DATE=unknown
LABEL org.opencontainers.image.title="Config Center Server" \
org.opencontainers.image.version="${VERSION}" \
org.opencontainers.image.revision="${VCS_REF}" \
org.opencontainers.image.created="${BUILD_DATE}"
RUN apk add --no-cache ca-certificates && adduser -D -u 10001 configcenter
USER configcenter
COPY --from=build /out/configcenter /usr/local/bin/configcenter
EXPOSE 8080
ENTRYPOINT ["configcenter"]