Ian Fijolek
9deac7cc7e
All checks were successful
continuous-integration/drone/push Build is passing
33 lines
706 B
Docker
33 lines
706 B
Docker
FROM golang:1.21-alpine AS builder
|
|
|
|
RUN apk add --no-cache git=~2 && mkdir /app
|
|
WORKDIR /app
|
|
|
|
COPY ./go.mod ./go.sum /app/
|
|
RUN go mod download
|
|
|
|
COPY ./*.go /app/
|
|
|
|
ARG VERSION=dev
|
|
ARG TARGETOS
|
|
ARG TARGETARCH
|
|
ENV CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH
|
|
RUN go build -ldflags "-X main.version=VERSION" -a -installsuffix nocgo -o nomad-var-dirsync .
|
|
|
|
FROM alpine:3.19
|
|
RUN mkdir /app
|
|
WORKDIR /app/
|
|
|
|
# Copy binary in
|
|
COPY --from=builder /app/nomad-var-dirsync .
|
|
|
|
# Add user for running as non-root
|
|
RUN addgroup -S nomad-var-dirsync && adduser -S nomad-var-dirsync -G nomad-var-dirsync
|
|
|
|
# Drop to non-root user
|
|
USER nomad-var-dirsync
|
|
|
|
ENTRYPOINT [ "./nomad-var-dirsync" ]
|
|
|
|
# vim: set filetype=dockerfile:
|