31 lines
		
	
	
		
			726 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			726 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
| 
 | |
| # Use an official Go runtime as a parent image
 | |
| FROM golang:1.22.7-alpine as builder
 | |
| 
 | |
| # Set the working directory inside the container
 | |
| WORKDIR /app
 | |
| 
 | |
| # Copy the Go application code into the container
 | |
| COPY . .
 | |
| 
 | |
| # Build the Go app, outputting an executable named "app"
 | |
| RUN go build -o app .
 | |
| 
 | |
| # Use a minimal base image to run the app, keeping the image small
 | |
| FROM alpine:latest
 | |
| 
 | |
| # Set the working directory inside the container
 | |
| WORKDIR /root/
 | |
| 
 | |
| # Copy the binary from the builder image
 | |
| COPY --from=builder /app/app .
 | |
| 
 | |
| # Copy any necessary static files (if any are in your static folder)
 | |
| COPY --from=builder /app/static ./static
 | |
| 
 | |
| # Expose the port the app runs on
 | |
| EXPOSE 8080
 | |
| 
 | |
| # Run the app when the container starts
 | |
| CMD ["./app"]
 | 
