build: split docker build into two images (#9)
Update the docker build file to use two images - one for building, and one for running/deployment. This helps reduce the size of the final image.
This commit is contained in:
parent
3de54b0b71
commit
3c4a8f5495
1 changed files with 6 additions and 4 deletions
10
Dockerfile
10
Dockerfile
|
@ -1,5 +1,5 @@
|
|||
# Using golang:latest instead of alpine because of issues with sqlite3
|
||||
FROM golang:latest
|
||||
FROM golang:latest AS build
|
||||
|
||||
# Create build folder to compile tool
|
||||
WORKDIR /build
|
||||
|
@ -11,12 +11,14 @@ RUN ln -s /go/src/ /build/src
|
|||
# Compile the tool using a Make command
|
||||
RUN make build/docker
|
||||
|
||||
|
||||
FROM debian:buster-slim
|
||||
|
||||
# Create main app folder to run from
|
||||
WORKDIR /app
|
||||
|
||||
# Move compiled binary to app folder and delete build folder
|
||||
RUN mv /build/src/exporter /app/fail2ban-prometheus-exporter
|
||||
RUN rm -rf /build
|
||||
# Copy compiled binary to release image
|
||||
COPY --from=build /build/src/exporter /app/fail2ban-prometheus-exporter
|
||||
|
||||
# Copy init script into main app folder and set as entry point
|
||||
COPY docker/run.sh /app/
|
||||
|
|
Loading…
Reference in a new issue