使用此 docker 文件,您将把 golang docker 镜像从 ~1GB 减少到 ~40MB,并且可以更快地重建镜像
# Stage 1: Build the Go application FROM golang:1.23-alpine AS builder # Set the working directory inside the container WORKDIR /app # Copy the Go module files COPY go.mod go.sum ./ # Download Go module dependencies RUN go mod download # Copy the rest of the application code COPY . . # Build the Go application RUN go build -o main cmd/server/main.go # Stage 2: Minimal image for running the app FROM alpine:latest as runner # Set environment variables (optional) ENV GO_ENV=production # Create a directory for the application WORKDIR /app # Copy the binary from the builder stage COPY --from=builder /app/main . # Expose the port on which the application runs (if applicable) EXPOSE 8080 # Command to run the application CMD ["./main"]
以上是具有多阶段构建的简单 Golang Dockerfile(减少了图像大小)的详细内容。更多信息请关注PHP中文网其他相关文章!