---
title: Docker镜像瘦身与安全加固指南
keywords:
- Docker
- 镜像优化
- 多阶段构建
- 安全加固
- Alpine
description: 通过多阶段构建、基础镜像选择与最小权限原则,实现更小更安全的容器镜像。
tech_params:
docker_version: 17.05+(支持多阶段构建)
base_image_examples:
- alpine
- distroless
user_nonroot: true
enable_time_based_updates: true
categories:
- 文章资讯
- 技术教程
---
镜像瘦身
- 多阶段构建:在
builder阶段编译,runtime阶段仅拷贝产物。 - 选择轻量基础镜像:如
alpine或distroless,减少体积与攻击面。 - 清理包缓存与临时文件,避免层膨胀。
安全加固
- 最小权限:
USER 1000:1000运行,避免root。 - 只读文件系统与限制能力(
CAP_DROP)。 - 定期安全扫描(如 Trivy)与镜像签名(Cosign)。
示例(Node.js)
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM node:20-alpine AS runtime
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/package*.json ./
RUN npm ci --omit=dev && adduser -D app && chown -R app:app /app
USER app
CMD ["node", "dist/index.js"]

发表评论 取消回复