Heim  >  Artikel  >  Backend-Entwicklung  >  Einfache Golang-Docker-Datei mit mehrstufigen Builds (reduziert etwa die Bildgröße)

Einfache Golang-Docker-Datei mit mehrstufigen Builds (reduziert etwa die Bildgröße)

Barbara Streisand
Barbara StreisandOriginal
2024-10-01 11:12:30442Durchsuche

Mit dieser Docker-Datei reduzieren Sie Ihr Golang-Docker-Image von ~1 GB auf ~40 MB und Sie können Ihr Image schneller neu erstellen

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

Das obige ist der detaillierte Inhalt vonEinfache Golang-Docker-Datei mit mehrstufigen Builds (reduziert etwa die Bildgröße). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn