Golang 在 Debian 上的容器化实践
一 环境准备与基础镜像选择
二 Dockerfile 多阶段构建模板
# 构建阶段(Debian)
FROM golang:1.24-bookworm AS builder
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 go build -ldflags="-s -w" -o app .
# 运行阶段(Debian Slim)
FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates && rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=builder /app/app .
USER 1001:1001
EXPOSE 8080
CMD ["./app"]
三 构建与运行命令
DOCKER_BUILDKIT=1 docker build -t my-go-app:latest .
如需利用缓存加速 CI 构建,可结合 –cache-from 指定缓存镜像。运行容器:docker run -d -p 8080:8080 --name my-go-container my-go-app:latest
常用运维命令:docker ps、docker logs 四 性能与安全优化要点
五 常见场景与注意事项