概要
- Azure Container Registry(ACR)を使う
- プライベートのレジストリを作り、参考書籍にあるサンプルコードからコンテナイメージをビルドし、レジストリに登録する
- 「レジストリ」は入れ物全体、「リポジトリ」は、個別のプロジェクトの入れ物。
課金が発生する
- ACRにコンテナイメージを置いている間は課金が発生する。必要に応じて作成/削除すること。
参考書籍
-
しくみがわかるKubernetes Azureで動かしながら学ぶコンセプトと実践知識
阿佐志保 著
- 2.3 コンテナーイメージのビルドと公開
-
まんがではじめるKubernetes あおい 著
- 大まかな概要をつかむ時に、サクッと読めるので良いです。
環境
- Azure
- Ubuntu 18.04.2 LTS (Windows Subsystem for Linux)
コンテナイメージのビルド
Azure Container Registry(ACR)にレジストリを作成する
- レジストリ名を決める。
-
sample123456ACRRegistry
とか、5-50文字でつける。 -
az acr check-name -n sample123456ACRRegistry
で、既に使われていないか確認。NameAvailableでTrueが返ってくればOK。 -
.bashrc
にexport ACR_NAME="sample123456ACRRegistry"
-
-
リソースグループ名を設定する
-
.bashrc
にexport ACR_RES_GROUP=$ACR_NAME
-
-
リソースグループの作成
-
az group create --resource-group $ACR_RES_GROUP --location japaneast
- (japaneast は東日本リージョン)
-
-
ACRのレジストリの作成
az acr create --resource-group $ACR_RES_GROUP --name $ACR_NAME --sku Standard --location japaneast
- 結果の「LOGIN SERVER」の値を控えておく。
Azure ポータルにログインして、コンテナーレジストリが作成されているのを確認
サンプルコードのダウンロード
参考書籍のサンプルコードがGitHubで公開されているので、ダウンロードして使用する。
Windows上のファイルは、WSL(Ubuntu)では、、/mnt/c/
にマウントされている。
cd /mnt/c/
mkdir k8ssample
cd k8ssample
git clone https://github.com/ToruMakabe/Understanding-K8s
cd Understanding-K8s/chap02/
コンテナイメージのビルド
-
az acr build --registry $ACR_NAME --image photo-view:v1.0 v1.0/
- 内部でdocker buildが動いてコンテナイメージがビルドされ、指定のレジストリに登録される。
- Azureのポータルから「ダッシュボード」-「(作成したコンテナレジストリ」-「リポジトリ」で見ると、「photo-view」というリポジトリが作成されている。
-
version 2.0もビルドしておく
az acr build --registry $ACR_NAME --image photo-view:v2.0 v2.0/
-
イメージの確認
az acr repository show-tags -n $ACR_NAME --repository photo-view
-
イメージの削除(課金が気になる場合は、毎回作成・削除する)
- Azureのポータルから削除