Dockerfile 741 B

1234567891011121314151617181920212223242526272829303132
  1. # Usa una imagen base de Go
  2. FROM golang:1.23 AS builder
  3. # Establece el directorio de trabajo
  4. WORKDIR /app
  5. # Establece las variables de entorno necesarias para la construcción
  6. ENV GO111MODULE=on \
  7. CGO_ENABLED=0 \
  8. GOOS=linux \
  9. GOARCH=amd64
  10. # Copia los archivos de módulo y descarga las dependencias
  11. COPY go.mod go.sum ./
  12. RUN go mod download
  13. # Copia el resto de los archivos y compila la aplicación
  14. COPY . .
  15. RUN go build -o main ./cmd/main.go
  16. # Usa una imagen base más ligera para ejecutar
  17. FROM alpine:latest
  18. # Copia el ejecutable desde la etapa de compilación
  19. WORKDIR /root/
  20. COPY --from=builder /app/main .
  21. # Expone el puerto que usará la aplicación
  22. EXPOSE 8080
  23. # Comando para ejecutar la aplicación
  24. CMD ["./main"]