Implement Docker multi-stage building
This commit is contained in:
parent
da21fb5b58
commit
22c57ad53c
1 changed files with 16 additions and 8 deletions
24
Dockerfile
24
Dockerfile
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue