使用容器注册表

容器注册表是一个存储和内容交付系统,用于保存命名的Docker镜像,这些镜像有不同的标签版本。

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

将镜像推送到容器注册表

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

  1. 打开Docker Explorer,在Registries组下选择Connect Registry...图标,并按照提示操作。选择提供者(例如,Azure或Docker Hub)并提供凭证以连接到注册表。如果提示,请安装Azure Resources扩展。

    连接到注册表

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

    注册表

  3. 可选地,为镜像打标签。为了将镜像上传到注册表,镜像需要使用注册表名称进行标记,以便docker push将其上传到正确的注册表。如果您尝试推送镜像时未标记镜像,VS Code会询问您希望将镜像与哪个注册表关联。

    • 您之前构建的镜像会出现在Docker Explorer中的Images标签下。右键点击并选择Tag...

      标签图片

    • 指定新名称 /: 并完成标签操作。例如,ACR 的新镜像名称将是 mainacr.azurecr.io/webapp6:latest,而对于 Docker Hub 则是 myusername/webapp6:latest

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

    推送图片

  5. 一旦推送命令完成,刷新镜像推送到的注册表节点,上传的镜像将会显示出来。

    刷新注册表

Docker Hub

这将连接到Docker Hub并列出给定账户下的所有仓库和镜像。 一旦选择此选项,您将需要输入您的Docker Hub凭据。

Docker Hub

对于Docker Hub注册表中的每个仓库,以下是可执行的操作:

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

对于仓库中的每个标记图像,可以执行以下操作:

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

Azure 容器注册表

此选项需要Azure Resources扩展,以便能够连接到您的Azure账户并显示所有不同的订阅和注册表。 一旦认证成功,节点Azure将显示每个订阅及其拥有的注册表:

Azure 容器注册表

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

Azure注册表上下文菜单

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

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

Azure 仓库上下文菜单

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

对于仓库中的每个标记图像,可以执行以下操作:

Azure 图像上下文菜单

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

GitHub

这将连接到您GitHub账户中的Docker注册表。一旦您选择此选项,系统将要求您输入GitHub账户的凭据。

GitHub

对于GitHub注册表中的每个仓库,以下是可执行的操作:

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

对于仓库中的每个标记图像,可以执行以下操作:

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

下一步