From 0e9e3167e07e51e5bd4eb486c0f39208064235c9 Mon Sep 17 00:00:00 2001 From: RochoElLocho Date: Thu, 26 Sep 2024 22:40:21 +0200 Subject: [PATCH] Dockerfile erstellt Dockerfile um ein Image zu bauen --- Dockerfile | 41 +++++++++++++++++++++++++++++++++++++++++ go.mod | 2 +- 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a69c489 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,41 @@ +# Stage 1: Build the Go application +FROM golang:1.23-alpine AS builder + +# Install git +RUN apk update && apk add --no-cache git + +# Set working directory +WORKDIR /app + +# Klone das Git-Repository (ersetze die URL durch die deines Repos) +RUN git clone https://git.diefleckenbuehler.de/RochoElLocho/EK-Suche-GO.git . +# Überprüfe die Go-Version (optional, zum Debuggen) +RUN go version + +# Lade die Abhängigkeiten herunter +RUN go mod download + +# Baue die Anwendung und stelle sicher, dass index.html im finalen Image ist +RUN go build -o ek-suche . + +# Stage 2: Create the final image +FROM alpine:latest + +# Setze das Arbeitsverzeichnis +WORKDIR /app + +# Kopiere die gebaute Anwendung vom Builder +COPY --from=builder /app/ek-suche /app/ek-suche + +# Kopiere die index.html und den public-Ordner vom Builder +COPY --from=builder /app/index.html /app/index.html + + +# Stelle sicher, dass die Anwendung ausführbar ist +RUN chmod +x /app/ek-suche + +# Exponiere den Port, den deine Anwendung verwendet (z.B. 80) +EXPOSE 80 + +# Setze den Eintragspunkt +ENTRYPOINT ["/app/ek-suche"] diff --git a/go.mod b/go.mod index ce2cacb..1ba3d88 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,3 @@ module ek-suche -go 1.22.5 +go 1.22