现已推出!阅读 10 月份的新功能和修复。

使用容器注册表

容器注册表是一个存储和内容交付系统,它保存命名 Docker 映像,这些映像以不同的标记版本提供。

用户可以从以下来源连接到 Docker 注册表

将映像推送到容器注册表

在您部署 Docker 映像之前,必须将映像上传到容器注册表。映像可以上传到 Docker HubAzure 容器注册表 (ACR) 或其他注册表。无论您是推送到 Docker Hub、Azure 容器注册表还是任何其他注册表,您都可以按照相同的步骤推送映像。如果您还没有 Azure 容器注册表,您可以在 **推送** 步骤中创建一个。

  1. 打开 Docker 资源管理器,在 **注册表** 组下选择 **连接注册表...** 图标,然后按照提示操作。选择提供商(例如,Azure 或 Docker Hub),并提供连接到注册表的凭据。如果出现提示,请安装 Azure 资源 扩展。

    Connect to Registry

  2. 现在,注册表将在 **注册表** 下可见。

    Registries

  3. 可选择对映像进行标记。为了将映像上传到注册表,映像需要用注册表名称进行标记,以便 docker push 将其上传到正确的注册表。如果在尝试推送时没有对映像进行标记,VS Code 会询问您要将映像关联到哪个注册表。

    • 您之前构建的映像会显示在 Docker 资源管理器中的 **映像** 选项卡下。右键单击并选择 **标记...**。

      Tag image

    • 指定新名称 <您的注册表或用户名>/<映像名称>:<标记> 并完成标记操作。例如,ACR 的新映像名称将为 mainacr.azurecr.io/webapp6:latest,Docker Hub 的新映像名称将为 myusername/webapp6:latest

  4. 映像将显示在 Docker 资源管理器中的 **映像** 选项卡下,位于映像标记指向的注册表下。选择此映像并选择 **推送**。如果映像尚未进行标记,系统会提示您选择要推送到的注册表或创建一个新注册表,并根据选择对映像进行标记。

    Push image

  5. 推送命令完成后,刷新映像被推送到其中的注册表节点,上传的映像将显示出来。

    Refresh registry

Docker Hub

这会连接到 Docker Hub 并列出给定帐户下的所有存储库和映像。选择此选项后,您需要输入您的 Docker Hub 凭据。

Docker Hub

对于 Docker Hub 注册表中的每个存储库,都可以执行以下操作

  • **拉取存储库**: 将给定存储库中的所有映像本地复制
  • **在浏览器中打开**: 打开浏览器并导航到 Docker Hub 上的给定存储库
  • **刷新**: 刷新存储库以反映更改

对于存储库中的每个标记映像,都可以执行以下操作

  • **拉取映像**: 将映像的最新版本本地复制
  • **复制完整标记**: 将完整标记复制到剪贴板
  • **将映像部署到 Azure 应用服务**: 将映像部署到 Azure 应用服务,请参阅 将映像部署到 Azure 页面
  • **将映像部署到 Azure 容器应用**: 将映像部署到 Azure 容器应用,请参阅 将映像部署到 Azure 页面
  • **在浏览器中打开**: 打开浏览器并导航到 Docker Hub 上的给定映像

Azure 容器注册表

此选项需要 Azure 资源 扩展才能连接到您的 Azure 帐户并显示所有不同的订阅和注册表。经过身份验证后,节点 **Azure** 将显示订阅以及每个订阅拥有的注册表

Azure Container Registry

对于每个注册表,用户可以使用上下文菜单执行不同的操作

Azure registry context menu

  • **删除注册表**: 永久删除注册表
  • **在门户中打开**: 打开浏览器并导航到 Azure 门户中的注册表
  • **查看属性**: 以 json 格式打开注册表属性
  • **刷新**: 刷新注册表以反映更改

对于给定注册表中的每个存储库,都可以执行以下操作

Azure repository context menu

  • **拉取存储库**: 将给定存储库中的所有映像本地复制
  • **删除存储库**: 永久删除存储库
  • **刷新**: 刷新存储库以反映更改

对于存储库中的每个标记映像,都可以执行以下操作

Azure image context menu

  • **拉取映像**: 将映像的最新版本本地复制
  • **复制完整标记**: 将完整标记复制到剪贴板
  • **复制映像摘要**: 将映像摘要(Docker 使用的 SHA256 哈希标识符)复制到剪贴板。有关映像摘要的更多信息,请参阅 Docker 文档
  • **检查映像清单**: 检查映像的注册表清单。这与本地拉取映像时检查映像不同。
  • **将映像部署到 Azure 应用服务**: 将映像部署到 Azure 应用服务,请参阅 将映像部署到 Azure 页面
  • **将映像部署到 Azure 容器应用**: 将映像部署到 Azure 容器应用,请参阅 将映像部署到 Azure 页面
  • **取消标记映像**: 取消标记映像
  • **删除映像**: 永久删除映像

GitHub

这会连接到您 GitHub 帐户中的 Docker 注册表。选择此选项后,系统会提示您输入您的 GitHub 帐户凭据。

GitHub

对于 GitHub 注册表中的每个存储库,都可以执行以下操作

  • **拉取存储库**: 将给定存储库中的所有映像本地复制
  • **刷新**: 刷新存储库以反映更改

对于存储库中的每个标记映像,都可以执行以下操作

  • **拉取映像**: 将映像的最新版本本地复制
  • **复制完整标记**: 将完整标记复制到剪贴板
  • **复制映像摘要**: 将映像摘要(Docker 使用的 SHA256 哈希标识符)复制到剪贴板。有关映像摘要的更多信息,请参阅 Docker 文档
  • **检查映像清单**: 检查映像的注册表清单。这与本地拉取映像时检查映像不同。
  • **将映像部署到 Azure 应用服务**: 将映像部署到 Azure 应用服务,请参阅 将映像部署到 Azure 页面
  • **将映像部署到 Azure 容器应用**: 将映像部署到 Azure 容器应用,请参阅 将映像部署到 Azure 页面

后续步骤