前回に引き続き、 Azure Container Registry を使ってみる。
クイックスタートをなぞりつつ、そこに書かれていない情報確認コマンドや削除コマンドを試した感じ。
前提
- Azure のアカウント取得は済み
- Azure CLI 導入済み(microsoft/azure-cli を使用)
Azule CLI 用のコンテナ起動
Azure Container Registry に push したりするためには、 docker コマンドが必要なので、 docker 実行可能な設定でコンテナを起動し、 docker をインストールする。
Azure CLI 用のコンテナ起動
docker run -it --rm -v "/var/run/docker.sock:/var/run/docker.sock" microsoft/azure-cli
docke インストール
apk update
apk add docker
Azure へのログイン
az login
https://microsoft.com/devicelogin に接続し、 az login
が出力した code をテキストフィールドに入力する。
リソースグループの作成
az group create --name FirstContainerRegistry --location japaneast
コンテナレジストリ作成
az acr create --resource-group FirstContainerRegistry --name Mikoto2000sFirstContainerRegistry --sku Basic
- sku: ここ参照
作成したコンテナレジストリへログイン
az acr login --name Mikoto2000sFirstContainerRegistry
コンテナレジストリの FQDN を取得
イメージを push するためには コンテナレジストリの FQDN が必要なのでそれをメモする。
az acr list --resource-group FirstContainerRegistry --query "[].{acrLoginServer:loginServer}" --output table
AcrLoginServer
の値をメモ。
今回は mikoto2000sfirstcontainerregistry.azurecr.io
であることが確認できた。
Azure Container Registry にプッシュするためのイメージを用意
docker pull microsoft/aci-helloworld
Azure Container Registry にプッシュ
Azure Container Registry にプッシュするためにタグ名を付けなおして push。
docker tag microsoft/aci-helloworld mikoto2000sfirstcontainerregistry.azurecr.io/aci-helloworld
docker push mikoto2000sfirstcontainerregistry.azurecr.io/aci-helloworld
プッシュ結果の確認
az acr repository list --name Mikoto2000sFirstContainerRegistry --output table
Result
に aci-helloworld
があるのが確認できる。
イメージのタグ確認
az acr repository show-tags --name Mikoto2000sFirstContainerRegistry --repository aci-helloworld --output table
Result
に latest
があるのが確認できる。
push したイメージを使ってコンテナインスタンスを立ち上げる
本来であれば「サービスプリンシパル」というものを作ってアクセス制御をするものらしいが、 チュートリアルではルートユーザー的なものでログインして作ってしまうようだ。
ルートユーザー的なものの情報取得
まず、レジストリ管理者になる。
az acr update --name Mikoto2000sFirstContainerRegistry --admin-enabled true
レジストリ管理者のパスワードの確認。
az acr credential show --name Mikoto2000sFirstContainerRegistry --query "passwords[0].value"
パスワードが表示されるのでメモ。
コンテナデプロイ
コンテナインスタンスをデプロイする。
ユーザー名は Azure Container Registry 名、パスワードは先ほど取得した文字列とする。
az container create --resource-group FirstContainerRegistry --registry-username Mikoto2000sFirstContainerRegistry --registry-password <直前で表示されたパスワード> --name acr-instance --image mikoto2000sfirstcontainerregistry.azurecr.io/aci-helloworld --cpu 1 --memory 1 --dns-name-label aci-instance --ports 80
コンテナインスタンス情報を取得
az container show --resource-group FirstContainerRegistry --name acr-instance --query ipAddress.fqdn
FQDN が表示される。
コンテナインスタンスの動作確認
Web ブラウザで、先ほど表示された FQDN に接続する。
Welcome to Azure Container Instances!
と表示されていれば OK.
コンテナインスタンス確認
az container list --resource-group FirstContainerRegistry --out table
今作ったコンテナインスタンスの情報が表示される。
コンテナインスタンスの削除
az container delete --resource-group FirstContainerRegistry --name acr-instance
ふたたび az container list ...
をすると、コンテナインスタンスが消えているのが確認できる。
Azure Container Registry の確認
az acr list --resource-group FirstContainerRegistry --out table
作った Container Registry が表示される。
Container Registry の削除
az acr delete --resource-group FirstContainerRegistry --name Mikoto2000sFirstContainerRegistry
ふたたび az acr list ...
をすると、コンテナレジストリが消えているのが確認できる。
リソースグループの確認
az group list --out table
作成したリソースグループが確認できる。
リソースグループの削除
az group delete --name FirstContainerRegistry
ふたたび az group list ...
すると、リソースグループが消えていることがわかる。
本格的に使うには、レジストリのアクセス制御について勉強する必要がありますね。
以上。
0 件のコメント:
コメントを投稿