通过使用 Azure 容器注册表来生成和存储映像

已完成

借助 Azure 容器注册表,可以在云中的 Azure 存储帐户存储 Docker 映像。

在示例场景中,团队已决定使用容器注册表来托管其 Docker 映像。 他们可以使用容器注册表在 Azure 及其他 Azure 资源中创建 Docker 映像注册表,并安全地存储其 Docker 映像。

本单元详细介绍容器注册表及其为存储 Docker 映像提供的优势。

什么是容器注册表?

容器注册表是一项 Azure 服务,可用于创建自己的专用 Docker 注册表。 与 Docker 中心一样,容器注册表围绕包含一个或多个映像的存储库进行组织。 使用容器注册表,还可以自动执行任务,例如在重新生成映像时重新部署应用。

选择容器注册表而不选择 Docker Hub,安全性是一个重要原因,因为:

  • 你可以更好地控制谁可以查看并使用映像。
  • 你可以对映像签名,以增加信任度并降低映像意外(或有意)损坏或受感染的风险。
  • 存储在容器注册表中所有映像都会进行静态加密。

使用容器注册表中的映像类似于使用 Docker 中心,但前者提供了以下几个独特优势:

  • 容器注册表在 Azure 中运行。 可以复制注册表以将映像存储到可能部署映像的位置附近。
  • 容器注册表具有高度可扩展性,可为可同时跨越多个节点的 Docker 拉取提供增强的吞吐量。 容器注册表的高级 SKU 包含 500 GiB 的存储空间。

使用容器注册表

可以使用 Azure 门户或使用 Azure CLI acr create 命令来创建注册表。 在下面的代码示例中,新注册表的名称为“myregistry”:

az acr create --name myregistry --resource-group mygroup --sku standard --admin-enabled true

除了存储和托管映像之外,还可以使用容器注册表生成映像。 与其自行生成映像并将其推送到容器注册表,不如使用 CLI 上传生成映像的 Docker 文件和其他文件。 然后,容器注册表将为你生成映像。 使用 acr build 命令来运行生成。

az acr build --file Dockerfile --registry myregistry --image myimage .

有关 Azure 容器注册表的其他信息以及指向用于管理专用注册表的受支持 CLI 命令的链接,请参阅此模块的“了解详细信息”部分。