| 1234567891011121314151617181920212223242526272829303132 |
- # Usa una imagen base de Go
- FROM golang:1.23 AS builder
- # Establece el directorio de trabajo
- WORKDIR /app
- # Establece las variables de entorno necesarias para la construcción
- ENV GO111MODULE=on \
- CGO_ENABLED=0 \
- GOOS=linux \
- GOARCH=amd64
- # Copia los archivos de módulo y descarga las dependencias
- COPY go.mod go.sum ./
- RUN go mod download
- # Copia el resto de los archivos y compila la aplicación
- COPY . .
- RUN go build -o main ./cmd/main.go
- # Usa una imagen base más ligera para ejecutar
- FROM alpine:latest
- # Copia el ejecutable desde la etapa de compilación
- WORKDIR /root/
- COPY --from=builder /app/main .
- # Expone el puerto que usará la aplicación
- EXPOSE 8080
- # Comando para ejecutar la aplicación
- CMD ["./main"]
|