共用方式為


(已淘汰)部署及使用 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) 是 Docker 容器映射的 Azure 型私人登錄。 本教學課程是七個教學課程的第二部分,會逐步解說部署 Azure Container Registry 實例,並將容器映射推送至其中。 完成的步驟包括:

  • 部署 Azure Container Registry (ACR) 實例
  • 標記 ACR 的容器映像
  • 將影像上傳至 ACR

在後續的教學課程中,此 ACR 實例會與 Azure Container Service Kubernetes 叢集整合。

開始之前

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

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

部署 Azure Container Registry

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

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

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> 作為容器登錄名稱的佔位元。

容器註冊中心登錄

使用 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 映像推送至登錄。

使用下列範例,將 ACR loginServer 名稱取代為您環境中的 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 叢集。

後續步驟

在本教學課程中,Azure Container Registry 已準備好在 ACS Kubernetes 叢集中使用。 已完成下列步驟:

  • 已部署 Azure Container Registry 實例
  • 用於 ACR 的容器映像標記
  • 將映像上傳至 ACR

繼續進行下一個教學課程,以瞭解如何在 Azure 中部署 Kubernetes 叢集。