有关容器的最佳做法

本页面介绍了有关构建和运行容器映像的最佳做法。

构建容器

构建容器映像采用的方法可能会影响构建和部署的速度以及维护映像所需的工作量。

了解构建容器的最佳做法,使得构建和运行容器更容易。

您还可以参阅构建映像的 Docker 最佳做法

操作容器

了解操作容器的最佳做法。这些做法包括针对安全性、监控和日志记录的建议,使得整体而言应用可以更轻松地在 Google Kubernetes Engine 和容器中运行。

公共注册表的注意事项

请仔细考虑以下情况:

使用来自公共来源的图片

使用来自 Docker Hub 等公共来源的映像时,您可以将组织不会控制的代码引入您的软件供应链。如需降低风险,您可以:

  • 构建自己的映像来控制映像内容。
  • 使用标准化基础映像并基于该映像进行构建。
  • 扫描映像是否存在漏洞,并解决已发现的漏洞。
  • 对您部署的映像强制执行标准和政策。

详细了解有关公共映像的注意事项

公开注册表

您可以向 allUsers 身份授予注册表存储桶的读取权限,以便公开 Google Cloud 项目中的注册表。

如果所有用户都有 Google Cloud 账号,您可以改用 allAuthenticatedUsers 身份来限制经过身份验证的用户的访问权限。

在公开注册表之前,请考虑以下准则:

  • 验证存储在注册表中的所有映像都可以公开共享,且不会泄露凭据、个人数据或机密数据。
  • 当用户拉取映像时,您需要支付网络出站流量费用。如果您预计互联网下载流量很大,请考虑相关费用。
  • 默认情况下,项目的每位用户配额不受限制。为防止滥用,请为项目中的每位用户配额设置上限

移除未使用的映像

移除未使用的容器映像以降低存储费用并降低使用旧版软件的风险。您可以使用许多工具来帮助完成此任务,包括 gcr-cleaner。gcr-cleaner 工具并非 Google 官方产品。

评估容器安全

互联网安全中心 (CIS) 提供一项 Docker 基准,用于评估 Docker 容器的安全性。

Docker 提供了一个名为 Docker Bench for Security 的开源脚本。您可以使用该脚本根据 CIS Docker 基准验证正在运行的 Docker 容器。

Docker Bench For Security 可以帮助您验证 CIS Docker 基准中的很多项,但并非所有项都可通过该脚本进行验证。例如,该脚本无法验证容器的主机是否经过了安全强化,或者容器映像是否包含个人数据。查看该基准中的所有项,并找出可能需要额外验证的项。

保护部署安全

了解如何构建安全软件供应链,以及如何在 Google Cloud 上使用漏洞扫描和 Binary Authorization 来定义和强制执行部署政策。

您还可以观看描述如何保护您的软件供应链的视频。