24 lines
No EOL
757 B
Docker
24 lines
No EOL
757 B
Docker
FROM golang:1.22-alpine3.20 AS builder
|
|
|
|
WORKDIR /app
|
|
COPY . .
|
|
|
|
RUN go mod download && go mod verify
|
|
RUN CGO_ENABLED=0 go build -ldflags="-s -w" -trimpath -o build/goscan
|
|
|
|
FROM alpine:3.20
|
|
|
|
RUN apk --no-cache update && apk --no-cache upgrade && apk add wget curl
|
|
RUN wget https://go.dev/dl/go1.23.1.linux-amd64.tar.gz && tar -xf go1.23.1.linux-amd64.tar.gz -C /usr/local && rm -rf go1.23.1.linux-amd64.tar.gz
|
|
|
|
COPY --from=builder /app/build/goscan /goscan
|
|
COPY ./entrypoint.sh /entrypoint.sh
|
|
COPY --from=builder /app .
|
|
RUN chmod +x /goscan && chmod +x /entrypoint.sh
|
|
|
|
RUN curl -sfL https://raw.githubusercontent.com/securego/gosec/master/install.sh | sh -s -- -b /usr/local/bin
|
|
|
|
USER nobody
|
|
ENV PATH="/usr/local/go/bin:${PATH}"
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"] |