這個錯誤是因為你在建立 ACR 之前,還沒有在 Azure 上建立對應的 資源群組 (Resource Group)。在 Azure 中,所有的服務(如 ACR、App Service、SQL)都必須存放在一個資源群組內。
azure 網頁的傳送門:
https://portal.azure.com/#servicemenu/Microsoft_Azure_Resources/ResourceManager/resourcegroups
請按照以下順序執行指令即可解決:
1. 先建立資源群組
你需要先指定一個位置(例如東亞 eastasia,也就是台灣使用者常用的機房)來建立這個群組:
PowerShell
# 設定位置變數
$LOCATION = "eastasia"
# 建立資源群組
az group create --name $RESOURCE_GROUP --location $LOCATION
2. 接著建立 ACR
現在有了資源群組,剛才失敗的指令就能成功跑通了:
PowerShell
az acr create --resource-group $RESOURCE_GROUP --name $ACR_NAME --sku Basic
3. 常見檢查點
- 名稱衝突:如果執行
az acr create時出現The name ... is already in use,代表policy-recommend-app-1這個名字已經被全世界的其他使用者用掉了。這時請修改$ACR_NAME加入一些隨機數字(例如policyrecommends99)。 - 確認登入狀態:如果出現權限錯誤,請先執行一次
az login確保視窗已連結到你的 Azure 訂閱帳號。
接下來的動作
ACR 建立完成後,記得執行登入指令,這樣你本機的 Docker 才能把 Image 推上去:
PowerShell
az acr login --name $ACR_NAME
當你看到 Login Succeeded 的訊息後,就可以繼續執行 docker tag 和 docker push 了。需要我幫你接下去寫推送 Image 到這個新 ACR 的指令嗎?