Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Azure容器注册表存储和管理专用容器映像和其他项目,类似于 Docker Hub 存储公共 Docker 容器映像的方式。 可以使用 Docker 命令行接口 (Docker CLI) 对容器注册表执行登录、推送、拉取和其他容器映像操作。
在以下步骤中,下载公共 Nginx 映像,将其标记为专用Azure容器注册表,将其推送到注册表,然后从注册表中拉取它。
先决条件
- Azure订阅。 如果没有Azure订阅,在开始之前创建试用订阅。
- Azure订阅中的Azure容器注册表。 可以使用 Azure 门户、Azure CLI 或 Azure PowerShell 创建一个。
- 还必须在本地安装 Docker。 Docker 提供在任意 macOS、Windows 或 Linux 系统上轻松配置 Docker 的包。
请登录您的容器注册表
可通过多种方式向容器注册表 进行身份验证 。
在命令行中工作时,建议使用 Azure CLI 命令 az acr login。 若要访问名为 myregistry 的注册表,请登录到Azure CLI,然后对注册表进行身份验证:
注意
在世纪互联运营的Microsoft Azure中使用Azure CLI之前,请先运行 az cloud set -n AzureChinaCloud 以更改云环境。 如果要切换回Azure公有云,请再次运行 az cloud set -n AzureCloud。
az cloud set -n AzureChinaCloud
az login
# az cloud set -n AzureCloud //means return to Public Azure.
az acr login --name myregistry
您还可以通过 docker login 登录。 有关管理身份验证凭据的最佳做法,请参阅 docker 登录 命令参考。
例如,你可能在自动化场景中向注册表分配了服务主体。 运行以下命令时,在出现提示时以交互方式提供服务主体 appID(用户名)和密码:
docker login myregistry.azurecr.cn
提示
使用 docker login 以及标记要推送到注册表的映像时,请始终指定完全限定的注册表名称(全部小写)。 在本文示例中,完全限定的名称是myregistry.azurecr.cn。
拉取一个公共 Nginx 镜像
首先,将公共 Nginx 镜像拉取到本地计算机。 此示例提取 官方 Nginx 映像。
docker pull nginx
在本地运行容器
使用 docker run 命令在端口 8080 上以交互方式-it () 启动 Nginx 容器的本地实例。
--rm 参数指定在停止容器时应将其删除。
docker run -it --rm -p 8080:80 nginx
浏览到 http://localhost:8080,查看由正在运行的容器中的 Nginx 提供服务的默认网页。 应看到类似于下面的页面:
由于已使用 -it 以交互方式启动了容器,因此在浏览器中导航到该容器后,可在命令行中查看 Nginx 服务器的输出。
若要停止并删除容器,请按 Ctrl+C。
创建映像的别名
运行 docker tag,使用注册表的完全限定路径创建映像的别名。 此示例指定了 samples 命名空间,以免注册表根目录中出现混乱。
docker tag nginx myregistry.azurecr.cn/samples/nginx
有关使用命名空间进行标记的详细信息,请参阅存储库命名空间最佳做法](container-registry-best-practices.md#repository-namespaces)。
将映像推送到注册表
使用专用注册表的完全限定路径标记映像后,可以使用 docker push 将其推送到注册表:
docker push myregistry.azurecr.cn/samples/nginx
从注册表中提取映像
使用 docker pull 命令从注册表提取映像:
docker pull myregistry.azurecr.cn/samples/nginx
启动 Nginx 容器
使用 docker run 命令运行从注册表中提取的映像:
docker run -it --rm -p 8080:80 myregistry.azurecr.cn/samples/nginx
浏览到 http://localhost:8080 以查看正在运行的容器。
若要停止并删除容器,请按 Ctrl+C。
删除映像(可选)
如果不再需要 Nginx 映像,可以使用 docker rmi 命令在本地将其删除。
docker rmi myregistry.azurecr.cn/samples/nginx
若要从Azure容器注册表中删除映像,请使用 az acr repository delete。 例如,以下命令删除 samples/nginx:latest 标记引用的清单、所有唯一的层数据以及引用此清单的其他所有标记。
az acr repository delete --name myregistry --image samples/nginx:latest
后续步骤
了解基础知识后,即可开始使用注册表。 例如,将容器镜像从你的注册表中部署到: