You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							35 lines
						
					
					
						
							722 B
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							35 lines
						
					
					
						
							722 B
						
					
					
				| 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"]
 |