Files
webapp/Dockerfile

37 lines
906 B
Docker

# Utiliser une image officielle de Go pour construire l'application
FROM golang:1.23-alpine AS builder
# Installer les dépendances pour PostgreSQL
RUN apk add --no-cache git
# Créer le répertoire de travail
WORKDIR /app
# Copier le module go et télécharger les dépendances
COPY go.mod go.sum ./
RUN go mod download
# Copier tout le code de l'application dans le conteneur
COPY . .
# Compiler l'application en un binaire statique
RUN go build -o app .
# Utiliser une image alpine légère pour l'exécution
FROM alpine:latest
# Installer les dépendances requises pour PostgreSQL dans le conteneur
RUN apk --no-cache add ca-certificates
# Créer le répertoire de l'application
WORKDIR /root/
# Copier le binaire compilé depuis l'image de build
COPY --from=builder /app/app .
# Exposer le port de l'application
EXPOSE 8080
# Définir la commande pour démarrer l'application
CMD ["./app"]