| 1234567891011121314151617181920212223242526272829303132333435 |
- FROM golang:1.24-alpine AS builder
- # Set working directory
- WORKDIR /app
- # Copy go mod files first for better caching
- COPY go.mod go.sum ./
- RUN go mod download
- # Copy source code
- COPY . .
- # Build the producer
- RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o producer ./test/postgres/producer.go
- # Final stage
- FROM alpine:latest
- # Install ca-certificates for HTTPS calls
- RUN apk --no-cache add ca-certificates curl
- WORKDIR /root/
- # Copy the binary from builder stage
- COPY --from=builder /app/producer .
- # Make it executable
- RUN chmod +x ./producer
- # Set environment variables with defaults
- ENV SEAWEEDFS_MASTER=localhost:9333
- ENV SEAWEEDFS_FILER=localhost:8888
- # Run the producer
- CMD ["./producer"]
|