经过多年容器化实践,我总结了一些 Docker 使用中的最佳实践。这些经验能帮助你构建更安全、高效、可维护的容器化应用。
1. 使用多阶段构建
多阶段构建可以显著减小最终镜像体积。在构建阶段安装编译依赖,在运行阶段只保留必要的运行时文件。
2. 选择合适的基础镜像
优先使用官方镜像的 slim 或 alpine 版本。例如 python:3.12-slim 比 python:3.12 小得多,且移除了不必要的系统工具。
3. 合理设置健康检查
HEALTHCHECK 指令让 Docker 能够自动检测容器状态,配合 restart 策略实现故障自动恢复。
4. 非 root 用户运行
容器内应用应以非 root 用户运行,这是安全的基本原则。可以通过 USER 指令或运行时指定用户。
5. 资源限制
始终为容器设置内存和 CPU 限制,防止单个容器耗尽主机资源影响其他服务。