簡體   English   中英

Azure Web App for Containers 中跨訂閱的 Azure 容器注冊表

[英]Azure Container Registry in Azure Web App for Containers across subscriptions

我目前正在嘗試為容器設置 Azure Web 應用程序,將其鏈接到位於不同訂閱內的 Azure 容器注冊表。 這就是為什么我最初的想法是使用 Web 應用程序Container Settings中的Private Registry選項卡來輸入所述注冊表的憑據。

但是,當我保存並重新加載頁面時, Azure Container Registry選項卡的設置現在已填充,而Private Registry選項卡為空。 問題是,我現在得到以下錯誤:

2020-01-21 21:51:12.951 ERROR - DockerApiException: Docker API responded with status code=NotFound, response={"message":"pull access denied for cliswebapi, repository does not exist or may require 'docker login': denied: requested access to the resource is denied"}

我假設是因為沒有存儲密碼。 如何正確配置?

在使用私有注冊中心的同時,Azure Container Registry也是一個私有注冊中心,部署到Web App for Containers,需要在這里設置環境變量:

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

有關更多詳細信息,請參閱如果您使用的是 Azure 容器注冊表,則需要設置一些應用程序設置

如果你創建多個容器,所有的鏡像都必須在同一個注冊表中。 全部在 Docker Hub 或 Azure 容器注冊表中。 請參閱所有圖像必須使用相同的注冊表中的更多詳細信息。

更新:

消息顯示您在不同的訂閱中使用 ACR 中的圖像部署 Web 應用程序。 這似乎是 Web App 中的一個錯誤,您可以在 Github 中看到該問題 建議是,也許您可以使用 ACR 的服務主體進行身份驗證和此處的步驟。

我在這個問題上花了一些時間並弄明白了。 這是我的解決方案:

假設我們有兩個訂閱,我們稱它們為SUB-ASUB-B ,我們在SUB-A中有一個 Azure 容器注冊表(在我的示例中稱為azurebluedev )。

現在我們想在SUB-B中創建一個應用服務,它使用admin 用戶名拉取容器注冊表的鏡像。

創建應用程序服務時,在 docker blade 中的Image and tag下使用正確的格式至關重要。 它必須遵循格式url/image:tag (沒有 https),否則您將遇到所描述的問題。 我之前使用的是image:tag格式,但沒有用。

在此處輸入圖像描述

這對我有用!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM