42 lines · 927 B · Text
RawDownload
# syntax=docker/dockerfile:1# Build stageFROM golang:1.21-alpine3.19 AS builder # Instalar dependencias necesariasRUN apk add --no-cache gcc musl-dev sqlite-dev # Establecer el directorio de trabajoWORKDIR /app # Copiar todo el código fuente primeroCOPY . . # Movernos al directorio de la aplicación golangWORKDIR /app/apps/monitoring # Descargar dependenciasRUN go mod download # Compilar la aplicaciónRUN CGO_ENABLED=1 GOOS=linux go build -o main main.go # Etapa finalFROM alpine:3.19 # Instalar SQLite y otras dependencias necesariasRUN apk add --no-cache sqlite-libs docker-cli WORKDIR /app # Copiar el binario compilado y el archivo monitor.goCOPY --from=builder /app/apps/monitoring/main ./mainCOPY --from=builder /app/apps/monitoring/main.go ./monitor.go # COPY --from=builder /app/apps/golang/.env ./.env # Exponer el puertoENV PORT=3001EXPOSE 3001 # Ejecutar la aplicaciónCMD ["./main"]