Files
podinfo/Dockerfile
2020-05-27 17:02:23 +03:00

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.11
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 \
curl openssl 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"]