30 lines
566 B
Docker
30 lines
566 B
Docker
# Use the official Go 1.23 image as the build stage
|
|
FROM golang:1.23 as build
|
|
|
|
# Set the working directory to /app
|
|
WORKDIR /app
|
|
|
|
# Copy the Go mod files
|
|
COPY go.mod go.sum ./
|
|
|
|
# Download the dependencies
|
|
RUN go mod download
|
|
|
|
# Copy the application code
|
|
COPY . .
|
|
|
|
# Build the application
|
|
RUN go build -o main cmd/main.go
|
|
|
|
# Use the scratch image as the runtime stage
|
|
FROM scratch
|
|
|
|
# Copy the built application from the build stage
|
|
WORKDIR /app
|
|
COPY --from=build /app/main /app/
|
|
|
|
# Expose the port
|
|
EXPOSE 1337
|
|
|
|
# Run the command to start the application
|
|
CMD ["./main"] |