35 lines
559 B
Docker
35 lines
559 B
Docker
# syntax=docker/dockerfile:1
|
|
|
|
FROM golang:alpine AS builder
|
|
|
|
ENV VERSION 0.1.0
|
|
ENV CGO_ENABLED 0
|
|
ENV GOOS linux
|
|
ENV BUILD_DIR /build
|
|
|
|
RUN mkdir -p ${BUILD_DIR}
|
|
WORKDIR ${BUILD_DIR}
|
|
|
|
RUN adduser --system --no-create-home --uid 1000 --shell /sbin/nologin app
|
|
|
|
COPY go.* ./
|
|
COPY *.go ./
|
|
RUN go build -v -o / ./...
|
|
|
|
FROM scratch
|
|
|
|
USER app
|
|
|
|
EXPOSE 3000
|
|
|
|
HEALTHCHECK --timeout=10s CMD ["/snice", "healthcheck"]
|
|
|
|
COPY --from=builder /etc/passwd /etc/passwd
|
|
COPY README.md /srv/README.md
|
|
COPY --from=builder /snice /
|
|
|
|
VOLUME /srv
|
|
|
|
ENTRYPOINT ["/snice"]
|
|
CMD ["serve"]
|