发布于 2026-01-06 6 阅读
0

构建容器的最佳实践

构建容器的最佳实践

你好呀,

我是 Ankit,你友好的 DevOps 内容策展人。我阅读了大量关于 DevOps、分布式系统、性能监控等方面的文章。我会与你分享这些文章中的一些关键要点,以便你能够及时了解最新动态并快速学习一些知识。🙂

这是谷歌云架构中心一篇非常精彩的文章。

完整文章链接👇
构建容器的最佳实践

容器构建最佳实践总结

每个容器打包一个应用程序

容器应该被视为一个独立的应用程序,而不是虚拟机。最佳实践是将父进程及其所有子进程放在同一个容器中。如果在同一个容器中运行多个应用程序,最终可能会导致容器运行过程中某个核心组件无响应。

正确处理 PID 1、信号处理和僵尸进程

Linux 信号控制容器内进程的生命周期。为了将应用程序的生命周期与其容器紧密关联起来,应用程序需要正确处理 Linux 信号。实现方法之一是使用像tini这样的专用初始化系统。

针对 Docker 构建缓存进行优化

Docker 构建缓存可以通过跳过一些可能耗时的步骤来加速容器镜像的构建。为了充分利用 Docker 构建缓存,应该将经常变化的构建步骤放在 Dockerfile 的底部。只有当之前的所有构建步骤都使用了构建缓存时,Docker 才能使用它。

移除不必要的工具

为了保护您的应用,请尝试移除所有不必要的工具,以减少应用的攻击面。例如,您可以移除像 netcat 这样的实用程序。

构建尽可能小的图像

小尺寸图片有利于加快上传和下载速度。以下是一些确保图片尺寸较小的方法:

  • 使用尽可能小的基础图像
  • 只安装必需品,减少杂物;
  • 创建具有公共图层的图像。

扫描图像以查找漏洞

如果发现漏洞,最佳实践是重建镜像及其补丁并重新部署。您可以选择一项服务来持续扫描镜像中的安全漏洞。Docker 已与Snyk合作提供漏洞扫描服务。

正确标记您的图片

建议将容器镜像的标签系统与软件的发布策略正确关联起来。必须制定并记录一套连贯一致的标签策略,以便用户能够轻松理解。


希望这篇简短精炼的总结对你有所帮助,也希望你从中有所收获。我很快会推出更多类似的笔记,敬请期待!🙂


目前正在开发SigNoz——一款开源的 APM 和可观测性工具💙

GitHub 标志 SigNoz / signoz

SigNoz 是一个基于 OpenTelemetry 的开源可观测性平台,在一个应用程序中集成了日志、追踪和指标。它是 DataDog、NewRelic 等工具的开源替代方案。🔥🖥。👉 开源应用性能监控 (APM) 和可观测性工具

SigNoz标志

监控您的应用程序并排查已部署应用程序中的问题,它是 DataDog、New Relic 等的开源替代方案。

下载 GitHub 问题 鸣叫

SigNoz 帮助开发者监控应用程序并排查已部署应用程序的问题。使用 SigNoz,您可以:

👉 在单个面板中可视化指标、跟踪和日志

👉 您可以查看诸如 p99 延迟、服务错误率、外部 API 调用和各个端点的指标。

👉 您可以通过查看导致问题的确切跟踪记录,并查看单个请求跟踪的详细火焰图,找到问题的根本原因。

👉 对跟踪数据运行聚合,以获取与业务相关的指标

👉 根据日志中的属性筛选和查询日志,构建仪表板和警报

👉 在 Python、Java、Ruby 和 Javascript 中自动记录异常

👉 很简单……




文章来源:https://dev.to/ankit01oss/best-practices-for-building-containers-4mkp