首頁 > 後端開發 > Golang > 具有多階段建置的簡單 Golang Dockerfile(減少了映像大小)

具有多階段建置的簡單 Golang Dockerfile(減少了映像大小)

Barbara Streisand
發布: 2024-10-01 11:12:30
原創
485 人瀏覽過

使用此 docker 文件,您將把 golang docker 映像從 ~1GB 減少到 ~40MB,並且可以更快地重建映像

Simple Golang Dockerfile with multi staged builds (reduces ~ of the image size)

# 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中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板