Skip to content

MS_AzureContainerRegistry

nishi_74322014 edited this page Sep 1, 2026 · 1 revision

Azure Container Registry

概要

ACR と略されることが多い、Azure の Container Registry

  • コンテナの置き場所(他の XKE / XKS にもコンテナ・レジストリはある)
  • ユーザの作成したプライベートなコンテナを登録する。

補足(SKU の違い): ACR は SKU によって使える機能が大きく異なるため、
検証の Basic のまま本番に持ち込むと後で困ることが多い。

Basic Standard Premium
ストレージ / スループット
地理レプリケーション × ×
Private Endpoint(閉域化) × ×
コンテンツ信頼(署名) × ×
リポジトリ スコープ トークン × ×

閉域構成にするには Premium が必須である点が最大の分かれ目。
詳細は ACR(コンテナ・レジストリ)をプライベート化する。を参照。

詳細

CREATE

Azure Cloud Shell で実行する例

hmsRgName=HmsRG
AcrName=osscjpdevinfra
az acr create --name $AcrName --resource-group $hmsRgName --sku Basic
RegistryName=$(az acr show --name $AcrName --query loginServer --output tsv)
echo $RegistryName

TEST

CMD で実行する例

az login
set AcrName=osscjpdevinfra
az acr show --name %AcrName% --query loginServer --output tsv
for /f "usebackq delims=" %A in (`az acr show --name %AcrName% --query loginServer --output tsv`) do set RegistryName=%A
set RegistryName
echo %RegistryName%
az acr login --name %RegistryName%
docker pull mcr.microsoft.com/hello-world
docker tag mcr.microsoft.com/hello-world %RegistryName%/hello-world:v1
docker push %RegistryName%/hello-world:v1
az acr repository list --name %RegistryName% --output table
az acr repository show-tags --name %RegistryName% --repository hello-world --output table

補足: 上記はコマンド プロンプトで直接実行する例のため %A としているが、
バッチ ファイル (.bat) 内で実行する場合は %%A
パーセントを重ねる必要がある(for の変数の仕様)。

また az acr login は内部で docker login を実行するため、
ローカルに Docker が動作していることが前提になる。
Docker が無い環境でイメージを操作したい場合は、
az acr build(ACR Tasks によるクラウド側ビルド)や
az acr import(レジストリ間のコピー)が使える。

補足(認証方式の選択): ACR の認証には複数の方式があり、
用途によって使い分ける。

方式 用途 備考
個別の ID(az acr login 開発者の手元 Azure AD トークンを利用
マネージド ID AKS / App Service からの Pull 推奨。資格情報を持たない
サービス プリンシパル CI/CD シークレット管理が必要
管理者ユーザー(admin user) 検証のみ 本番では無効にする(共有資格情報のため)

「管理者ユーザーが既定で有効なまま運用されている」のは
よくある指摘事項なので注意。

参考

Microsoft Learn


Tags: 移行, クラウド, コンテナ, Azure, AKS

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally