使用容器注册表
容器注册表是一个存储和内容交付系统,它保存了不同标签版本的、命名好的 Docker 镜像。
用户可以连接以下来源的 Docker 注册表:
- Azure Container Registry
- Docker Hub
- GitHub 容器注册表
- 任何支持 Docker V2 api 的通用私有注册表
将镜像推送到容器注册表
在部署 Docker 镜像之前,必须将镜像上传到容器注册表。镜像可以上传到 Docker Hub、Azure Container Registry (ACR) 或其他注册表。无论您是推送到 Docker Hub、Azure 容器注册表还是任何其他注册表,都可以按照相同的步骤进行。如果您还没有 Azure 容器注册表,可以在推送步骤中创建一个。
-
打开 Docker Explorer,在注册表组下选择连接注册表...图标,然后按照提示操作。选择提供程序(例如 Azure 或 Docker Hub)并提供凭据以连接到注册表。如果提示,请安装 Azure Resources 扩展。
-
现在,注册表将在注册表下可见。
-
(可选)标记镜像。为了将镜像上传到注册表,需要使用注册表名称标记镜像,以便 docker push 会将其上传到正确的注册表。如果您在尝试推送时未标记镜像,VS Code 会询问您要将镜像与哪个注册表关联。
-
您之前构建的镜像将出现在 Docker Explorer 的镜像选项卡下。右键单击并选择标记...。
-
指定新的名称
<your registry or username>/<image name>:<tag>
并完成标记操作。例如,ACR 的新镜像名称将是mainacr.azurecr.io/webapp6:latest
,而 Docker Hub 的新镜像名称将是myusername/webapp6:latest
。
-
-
该镜像将显示在 Docker Explorer 的镜像选项卡下,位于镜像标签指向的注册表下。选择该镜像并选择推送。如果镜像尚未标记,系统会提示您选择要推送到的注册表或创建一个新的注册表,然后根据选择标记镜像。
-
推送命令完成后,刷新镜像推送到的注册表节点,上传的镜像将显示出来。
Docker Hub
这将连接到 Docker Hub 并列出给定帐户下的所有存储库和镜像。选择此选项后,您需要输入您的 Docker Hub 凭据。
对于 Docker Hub 注册表中的每个存储库,可以执行以下操作:
- 拉取存储库:将给定存储库中的所有镜像复制到本地
- 在浏览器中打开:打开浏览器并导航到 Docker Hub 上给定存储库
- 刷新:刷新存储库以反映更改
对于存储库中每个带有标签的镜像,可以执行以下操作:
- 拉取镜像:将镜像的最新版本复制到本地
- 复制完整标签:将完整标签复制到剪贴板
- 部署镜像到 Azure App Service:将镜像部署到 Azure App Service,请参见将镜像部署到 Azure 页面
- 部署镜像到 Azure Container Apps:将镜像部署到 Azure Container Apps,请参见将镜像部署到 Azure 页面
- 在浏览器中打开:打开浏览器并导航到 Docker Hub 上给定镜像
Azure Container Registry
此选项需要安装 Azure Resources 扩展才能连接到您的 Azure 帐户并显示所有不同的订阅和注册表。身份验证成功后,Azure 节点将显示订阅以及每个订阅下的注册表。
对于每个注册表,用户可以使用上下文菜单执行不同的操作:
- 删除注册表:永久删除注册表
- 在门户中打开:打开浏览器并导航到 Azure 门户中的注册表
- 查看属性:以 json 格式打开注册表属性
- 刷新:刷新注册表以反映更改
对于给定注册表中的每个存储库,可以执行以下操作:
- 拉取存储库:将给定存储库中的所有镜像复制到本地
- 删除存储库:永久删除存储库
- 刷新:刷新存储库以反映更改
对于存储库中每个带有标签的镜像,可以执行以下操作:
- 拉取镜像:将镜像的最新版本复制到本地
- 复制完整标签:将完整标签复制到剪贴板
- 复制镜像摘要:将镜像摘要(Docker 使用的 SHA256 哈希标识符)复制到剪贴板。有关镜像摘要的更多信息,请参阅 Docker 文档
- 检查镜像 Manifest:检查镜像的注册表 manifest。这与在本地拉取镜像后检查镜像不同。
- 部署镜像到 Azure App Service:将镜像部署到 Azure App Service,请参见将镜像部署到 Azure 页面
- 部署镜像到 Azure Container Apps:将镜像部署到 Azure Container Apps,请参见将镜像部署到 Azure 页面
- 取消镜像标记:取消镜像的标记
- 删除镜像:永久删除镜像
GitHub
这将连接到您 GitHub 帐户中的 Docker 注册表。选择此选项后,系统会要求您输入您的 GitHub 帐户凭据。
对于 GitHub 注册表中的每个存储库,可以执行以下操作:
- 拉取存储库:将给定存储库中的所有镜像复制到本地
- 刷新:刷新存储库以反映更改
对于存储库中每个带有标签的镜像,可以执行以下操作:
- 拉取镜像:将镜像的最新版本复制到本地
- 复制完整标签:将完整标签复制到剪贴板
- 复制镜像摘要:将镜像摘要(Docker 使用的 SHA256 哈希标识符)复制到剪贴板。有关镜像摘要的更多信息,请参阅 Docker 文档
- 检查镜像 Manifest:检查镜像的注册表 manifest。这与在本地拉取镜像后检查镜像不同。
- 部署镜像到 Azure App Service:将镜像部署到 Azure App Service,请参见将镜像部署到 Azure 页面
- 部署镜像到 Azure Container Apps:将镜像部署到 Azure Container Apps,请参见将镜像部署到 Azure 页面