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"]
							 |