最佳实践
镜像优化建议
优化清单
- 使用多阶段构建减小镜像体积
- 选择精简的基础镜像(如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