ヒント
Azure Kubernetes Service を使用するこのチュートリアルの更新バージョンについては、「 チュートリアル: Azure Container Registry のデプロイと使用」を参照してください。
警告
Azure Container Service (ACS) は非推奨です。 ACS に新しい機能は追加されません。 すべての API、ポータル エクスペリエンス、CLI コマンド、およびドキュメントは非推奨としてマークされます。
2017 年には、Kubernetes の管理、デプロイ、および操作を簡略化するための Azure Kubernetes Service (AKS) が導入されました。 Kubernetes オーケストレーターを使用する場合は、2020 年 1 月 31 日までに AKS に移行してください。 開始するには、 Azure Kubernetes Service への移行に関するページを参照してください。
詳細については、 Azure.com に関する Azure Container Service の廃止に関するお知らせを参照してください。
Azure Container Registry (ACR) は、Docker コンテナー イメージ用の Azure ベースのプライベート レジストリです。 このチュートリアル (パート 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 コマンドを使用してリソース グループを作成 します。 この例では、myResourceGroup
リージョンに westeurope
という名前のリソース グループが作成されます。
az group create --name myResourceGroup --___location westeurope
az acr create コマンドを使用して Azure Container Registry を作成します。 コンテナー レジストリの名前は 一意である必要があります。
az acr create --resource-group myResourceGroup --name <acrName> --sku Basic
このチュートリアルの残りの部分では、コンテナー レジストリ名のプレースホルダーとして <acrname>
を使用します。
コンテナー レジストリ ログイン
az acr login コマンドを使用して、ACR インスタンスにログインします。 コンテナー レジストリの作成時に指定する一意の名前を指定する必要があります。
az acr login --name <acrName>
このコマンドは、完了すると 'Login Succeeded' メッセージを返します。
コンテナー イメージにタグを付けます
現在のイメージの一覧を表示するには、 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 クラスターをデプロイする方法について説明します。