【问题标题】:Azure az cli Docker Hub Web App ressource configurationAzure az cli Docker Hub Web 应用资源配置
【发布时间】:2021-06-16 12:03:14
【问题描述】:

我正在尝试设置一个脚本来自动为我的应用程序创建一个新环境,我需要一个 docker webapp。 问题是我需要从 docker hub 中提取图像。 当我在juste setup中从界面创建一个环境时,它是这样的:

问题是我不知道如何通过 az cli 在 Docker Hub 上配置“Source de registre”。

现在我用来创建新的网络应用程序资源的命令是这个

az webapp create -g name_of_group -p name_of_plan -n resource-test2 -i https://registry.hub.docker.com/publisher/name_of_image:version -s name_of_image -w my_password

这个命令的问题是它给了我这个配置

这不起作用,因为我无法登录(可能是因为它没有配置为 Docker Hub 注册)。

您知道如何在我的 az cli 命令中指定此配置吗?谢谢

【问题讨论】:

  • 关于这个问题的任何更新?它解决了你的问题吗?
  • 不...仍然没有消息,仍然有同样的问题

标签: azure docker azure-cli dockerhub


【解决方案1】:

出现此问题是因为您使用了私有 DockerHub 注册表 Azure CLI 命令。

要使用来自 DockerHub 的映像创建 Web 应用程序,请使用以下 Azure CLI 命令:

az webapp create -g MyResourceGroup -p MyPlan -n MyUniqueAppName -i nginx

要使用来自私有 DockerHub 注册表 的映像创建 Web 应用程序,请使用以下 Azure CLI 命令:

az webapp create -g MyResourceGroup -p MyPlan -n MyUniqueAppName -i MyImageName -s username -w password

参考:az webapp commands

【讨论】:

  • 正如您在我的示例中看到的那样,这正是我所做的,但它将 Web 应用程序配置为私有图像存储库源,而不是 Docker Hub 存储库。
  • 您已经使用了 DockerHub 注册表命令。使用此命令将 Web 应用程序配置为 DockerHub。 az webapp create -g MyResourceGroup -p MyPlan -n MyUniqueAppName -i nginx DockerHubDockerHub 注册表 有不同的命令。如果有帮助,请点赞并接受答案。
  • 我使用的命令有什么区别: az webapp create -g name_of_group -p name_of_plan -n resource-test2 -i registry.hub.docker.com/publisher/name_of_image:version -s name_of_image -w my_password 和你告诉我的那个使用: az webapp create -g MyResourceGroup -p MyPlan -n MyUniqueAppName -i MyImageName -s username -w password 这对我来说看起来几乎一样
  • 如果你想使用来自 DockerHub 的 nginx 镜像,那么你可以使用这个命令:az webapp create -g MyResourceGroup -p MyPlan -n MyUniqueAppName -i nginx 如果你想使用来自 DockerHub 注册表的其他私有镜像,那么你可以使用这个命令:az webapp create -g MyResourceGroup -p MyPlan -n MyUniqueAppName -i MyImageName -s username -w password A Docker注册表存储 Docker 镜像。 Docker Hub 是一个任何人都可以使用的公共注册表,并且 Docker 默认配置为在 Docker Hub 上查找图像。您甚至可以运行自己的私有注册表。
【解决方案2】:

要部署存储在私有注册表或 Docker Hub 中的图像,您可以设置以下环境变量:

  • DOCKER_REGISTRY_SERVER_USERNAME - ACR 服务器的用户名。
  • DOCKER_REGISTRY_SERVER_URL - ACR 服务器的完整 URL。 (例如,https://my-server.azurecr.io。)
  • DOCKER_REGISTRY_SERVER_PASSWORD - ACR 服务器的密码。

获取更多详情here。您可以使用 CLI 命令az webapp config appsettings set 来执行此操作。

【讨论】:

    【解决方案3】:

    最近从我的私有 docker hub 存储库中的容器部署 azure cloud webapp 时遇到了同样的问题。 UI 体验效果很好,但是当我使用带有“az webapp create ...”的 azure cli 进行操作时,最终遇到了同样的问题。在创建 webapp 后,我能够通过使用“az webapp config container set ...”命令来修复它。见下文和我的github repo

    # First create the webapp with a docker container:
    ~$ az webapp create -n $webAppName -g $resGroup -p $servicePlan -i $containerImg -s $dockerUsr -w $dockerPass --tags Lifecycle=Test
    # Update docker container settings with your private docker hub repo credentials:
    ~$ az webapp config container set --name $webAppName --resource-group $resGroup --docker-custom-image-name 'DOCKER|dockeruser/myrepo:tweb1' --docker-registry-server-url 'https://index.docker.io/v1' --docker-registry-server-user 'dockeruser' --docker-registry-server-password 'xxxxxxxxxxx'
    

    【讨论】:

      猜你喜欢
      • 2021-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-16
      • 2021-01-08
      • 1970-01-01
      相关资源
      最近更新 更多