小提示
如需本教學課程使用 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 叢集。