mirror of
https://github.com/stefanprodan/podinfo.git
synced 2026-03-02 18:10:20 +00:00
53 lines
1.3 KiB
Docker
53 lines
1.3 KiB
Docker
FROM golang:1.14-alpine as builder
|
|
|
|
ARG REVISION
|
|
|
|
RUN mkdir -p /podinfo/
|
|
|
|
WORKDIR /podinfo
|
|
|
|
COPY . .
|
|
|
|
RUN go mod download
|
|
|
|
RUN CGO_ENABLED=0 go build -ldflags "-s -w \
|
|
-X github.com/stefanprodan/podinfo/pkg/version.REVISION=${REVISION}" \
|
|
-a -o bin/podinfo cmd/podinfo/*
|
|
|
|
RUN CGO_ENABLED=0 go build -ldflags "-s -w \
|
|
-X github.com/stefanprodan/podinfo/pkg/version.REVISION=${REVISION}" \
|
|
-a -o bin/podcli cmd/podcli/*
|
|
|
|
FROM alpine:3.12
|
|
|
|
ARG BUILD_DATE
|
|
ARG VERSION
|
|
ARG REVISION
|
|
|
|
LABEL maintainer="stefanprodan" \
|
|
org.opencontainers.image.created=$BUILD_DATE \
|
|
org.opencontainers.image.url="https://github.com/stefanprodan/podinfo" \
|
|
org.opencontainers.image.source="https://github.com/stefanprodan/podinfo" \
|
|
org.opencontainers.image.version=$VERSION \
|
|
org.opencontainers.image.revision=$REVISION \
|
|
org.opencontainers.image.vendor="stefanprodan" \
|
|
org.opencontainers.image.title="podinfo" \
|
|
org.opencontainers.image.description="Go microservice template for Kubernetes" \
|
|
org.opencontainers.image.licenses="MIT"
|
|
|
|
RUN addgroup -S app \
|
|
&& adduser -S -g app app \
|
|
&& apk --no-cache add \
|
|
ca-certificates curl netcat-openbsd
|
|
|
|
WORKDIR /home/app
|
|
|
|
COPY --from=builder /podinfo/bin/podinfo .
|
|
COPY --from=builder /podinfo/bin/podcli /usr/local/bin/podcli
|
|
COPY ./ui ./ui
|
|
RUN chown -R app:app ./
|
|
|
|
USER app
|
|
|
|
CMD ["./podinfo"]
|