---

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 阶段仅拷贝产物。
  • 选择轻量基础镜像:如 alpinedistroless,减少体积与攻击面。
  • 清理包缓存与临时文件,避免层膨胀。

安全加固

  • 最小权限: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"]

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部