最佳实践
镜像优化建议
优化清单
  • 使用多阶段构建减小镜像体积
  • 选择精简的基础镜像(如alpine版本)
  • 合并RUN命令减少镜像层数
  • 及时清理缓存和临时文件
  • 使用.dockerignore排除不需要的文件
  • 固定镜像版本标签,避免使用latest
安全最佳实践
安全清单
  • 以非root用户运行容器
  • 定期更新基础镜像和依赖
  • 扫描镜像漏洞(使用docker scan或trivy)
  • 限制容器资源使用(CPU、内存)
  • 启用Docker内容信任(DCT)
  • 使用只读文件系统运行容器(--read-only)
  • 限制容器能力(--cap-drop)
生产环境检查清单
# 运行容器时的安全选项示例
docker run -d \
  --name myapp \
  --user 1000:1000 \
  --read-only \
  --tmpfs /tmp:noexec,nosuid,size=100m \
  --cap-drop ALL \
  --cap-add CHOWN \
  --security-opt no-new-privileges:true \
  --memory 512m \
  --memory-swap 512m \
  --cpus 1.0 \
  --pids-limit 100 \
  --restart unless-stopped \
  --health-cmd "curl -f http://localhost/health || exit 1" \
  --health-interval 30s \
  --health-retries 3 \
  myapp:latest