Implement Docker multi-stage building

This commit is contained in:
wim.de.jager 2021-06-21 16:29:33 +02:00
parent da21fb5b58
commit 22c57ad53c

View file

@ -1,8 +1,20 @@
FROM golang:alpine
FROM golang:1.16 AS builder
# Build go package
ADD . /go/src/clamav-rest/
ADD ./server.* /etc/ssl/clamav-rest/
RUN cd /go/src/clamav-rest && go mod vendor && go build -v
FROM alpine:latest
# Update
RUN apk update upgrade;
# Install git
RUN apk add git
RUN apk add --no-cache libc6-compat
# Set timezone to Europe/Zurich
RUN apk add tzdata
RUN ln -s /usr/share/zoneinfo/Europe/Zurich /etc/localtime
@ -19,13 +31,9 @@ RUN sed -i 's/^#Foreground .*$/Foreground true/g' /etc/clamav/clamd.conf \
RUN freshclam --quiet --no-dns
# Build go package
ADD . /go/src/clamav-rest/
ADD ./server.* /etc/ssl/clamav-rest/
RUN cd /go/src/clamav-rest && go mod vendor && go build -v
COPY entrypoint.sh /usr/bin/
RUN mv /go/src/clamav-rest/clamav-rest /usr/bin/ && rm -Rf /go/src/clamav-rest
COPY entrypoint.sh /usr/bin
COPY --from=builder /go/src/clamav-rest /usr/bin/
#RUN mv /go/src/clamav-rest /usr/bin/ && rm -Rf /go/src/clamav-rest
EXPOSE 9000
EXPOSE 9443