Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Fail Docker Golang mudah dengan binaan berbilang peringkat (mengurangkan ~ saiz imej)

Fail Docker Golang mudah dengan binaan berbilang peringkat (mengurangkan ~ saiz imej)

Barbara Streisand
Barbara Streisandasal
2024-10-01 11:12:30440semak imbas

Menggunakan fail docker ini anda akan mengurangkan imej docker golang anda daripada ~1GB kepada ~40MB dan anda akan membina semula imej anda dengan lebih pantas

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

Atas ialah kandungan terperinci Fail Docker Golang mudah dengan binaan berbilang peringkat (mengurangkan ~ saiz imej). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Espresso; sudah tiba masanyaArtikel seterusnya:Espresso; sudah tiba masanya