共用方式為


(已被取代) 部署和使用 Azure Container Registry

提示

如需本教學課程使用Azure Kubernetes Service的更新版本,請參閱教學課程:部署和使用Azure Container Registry

警告

Azure Container Service (ACS) 即將淘汰。 ACS 不會再新增任何新的特性或功能。 所有 API、入口網站體驗、CLI 命令和文件均會標示為已淘汰。

自 2017 年引進 Azure Kubernetes Service (AKS) 起,即將其用於簡化 Kubernetes 的管理、部署及作業。 若您使用 Kubernetes 協調器,請於 2020 年 1 月 31 日前遷移至 AKS。 若要開始使用,請參閱遷移至 Azure Kubernetes Service

如需詳細資訊,請參閱 Azure.com 上的 Azure Container Service 淘汰通知

Azure Container Registry (ACR) 是以 Azure 為基礎的私人登錄,用於裝載 Docker 容器映像。 本教學課程 (2/7 部分) 逐步解說如何部署 Azure Container Registry 執行個體,以及將容器映像推送至該執行個體。 完成的步驟包括:

  • 部署 Azure Container Registry (ACR) 執行個體
  • 標記 ACR 的容器映像
  • 將映像上傳至 ACR

在後續教學課程中,此 ACR 執行個體會與 Azure Container Service 的 Kubernetes 叢集整合。

開始之前

上一個教學課程中,已針對簡單的 Azure Voting 應用程式建立容器映像。 如果您尚未建立 Azure Voting 應用程式映像,請回到教學課程 1 – 建立容器映像

本教學課程需要您執行 Azure CLI 2.0.4 版或更新版本。 執行 az --version 以尋找版本。 如果您需要安裝或升級,請參閱安裝 Azure CLI

部署 Azure Container Registry

部署 Azure Container Registry 時,您必須先有資源群組。 Azure 資源群組是在其中部署與管理 Azure 資源的邏輯容器。

使用 az group create 命令來建立資源群組。 在此範例中,westeurope 區域中會建立名為 myResourceGroup 的資源群組。

az group create --name myResourceGroup --location westeurope

使用 az acr create 命令來建立 Azure Container Registry。 Container Registry 的名稱必須是唯一的

az acr create --resource-group myResourceGroup --name <acrName> --sku Basic

在本教學課程的其餘部分,我們使用 <acrname> 作為容器登錄名稱的預留位置。

Container Registry 登入

使用 az acr login 命令登入 ACR 執行個體。 您必須在建立容器登錄時,為容器登錄提供唯一名稱。

az acr login --name <acrName>

此命令在完成之後會傳回「登入成功」訊息。

標記容器映像

若要查看目前的映像清單,請使用 docker images 命令。

docker images

輸出:

REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
azure-vote-front             latest              4675398c9172        13 minutes ago      694MB
redis                        latest              a1b99da73d05        7 days ago          106MB
tiangolo/uwsgi-nginx-flask   flask               788ca94b2313        9 months ago        694MB

每個容器映像都必須標記登錄的 loginServer 名稱。 將容器映像推送到映像登錄時,此標籤可用於路由傳送。

若要取得 loginServer 名稱,請執行下列命令。

az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table

現在,以容器登錄的 loginServer 標記 azure-vote-front 映像。 此外,將 :v1 新增至映像名稱的結尾。 此標籤指示映像版本。

docker tag azure-vote-front <acrLoginServer>/azure-vote-front:v1

標記之後,請執行 Docker 映射 來驗證作業。

docker images

輸出:

REPOSITORY                                           TAG                 IMAGE ID            CREATED             SIZE
azure-vote-front                                     latest              eaf2b9c57e5e        8 minutes ago       716 MB
mycontainerregistry082.azurecr.io/azure-vote-front   v1            eaf2b9c57e5e        8 minutes ago       716 MB
redis                                                latest              a1b99da73d05        7 days ago          106MB
tiangolo/uwsgi-nginx-flask                           flask               788ca94b2313        8 months ago        694 MB

將映像推送到登錄

azure-vote-front映像推送至登錄。

使用下列範例,以您環境中的 loginServer 取代 ACR loginServer 名稱。

docker push <acrLoginServer>/azure-vote-front:v1

這需要幾分鐘的時間完成。

列出登錄中的映像

若要傳回已推送至 Azure Container Registry 的映像清單,請使用 az acr repository list 命令。 以 ACR 執行個體名稱更新命令。

az acr repository list --name <acrName> --output table

輸出:

Result
----------------
azure-vote-front

而後若要查看特定映像的標籤,請使用 az acr repository show-tags 命令。

az acr repository show-tags --name <acrName> --repository azure-vote-front --output table

輸出:

Result
--------
v1

當教學課程完成時,私人 Azure Container Registry 執行個體中已儲存容器映像。 在後續的教學課程中,此映像會從 ACR 部署到 Kubernetes 叢集。

後續步驟

在本教學課程中,已備妥可用於 ACS Kubernetes 叢集中的 Azure Container Registry。 已完成下列步驟:

  • 已部署 Azure Container Registry 執行個體
  • 已標記 ACR 的容器映像
  • 已將映像上傳至 ACR

請前進到下一個教學課程,了解如何在 Azure 中部署 Kubernetes 叢集。