有关容器的最佳做法

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

构建容器

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

阅读构建映像的 Docker 最佳实践

公共注册表的注意事项

请仔细考虑以下情况:

使用来自公共来源的图片

使用来自 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 来定义及强制执行部署政策。

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