前回に引き続き、 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-clidocke インストール
apk update
apk add dockerAzure へのログイン
az loginhttps://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 tableAcrLoginServer の値をメモ。
今回は mikoto2000sfirstcontainerregistry.azurecr.io であることが確認できた。
Azure Container Registry にプッシュするためのイメージを用意
docker pull microsoft/aci-helloworldAzure 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 tableResult に aci-helloworld があるのが確認できる。
イメージのタグ確認
az acr repository show-tags --name Mikoto2000sFirstContainerRegistry --repository aci-helloworld --output tableResult に 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.fqdnFQDN が表示される。
コンテナインスタンスの動作確認
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 件のコメント:
コメントを投稿