🎼
[Azure] コンテナイメージを作って ACR に上げるまで
AKS (Azure Kubernetes Service) や Azure Container Apps の検証等において、Azure 上のコンテナリポジトリ (Azure Container Repository) にテスト用のコンテナイメージを作りたいことが良くあるので、ちょっと手順をまとめておこうと思います。
環境
- Ubuntu 20.04
- Azure CLI
Docker のインストール
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
sudo apt update
apt-cache policy docker-ce
sudo apt install docker-ce
sudo service docker start
sudo usermod -aG docker ${USER}
手順
ACR の作成
下記の手順に沿って、ACR を作成しておきます。
コンテナイメージの準備
めちゃくちゃ簡単ですが、下記のような Dockerfile を作成しておきます。
FROM debian:9
Azure へのログイン
az login
コマンドで、Azure へのログインを済ませておきます。
コンテナイメージのビルド&プッシュ
Dockerfile の用意ができれば、az acr build
コマンドでコンテナイメージのビルドとプッシュを実行することができます。
az acr build --image example/debian-9:v1 \
--registry <myContainerRegistry> \
--file Dockerfile .
コンテナイメージの実行
ローカル (Ubuntu) 上でのコンテナイメージの実行は az コマンドで行うことができます。
az acr run --registry <myContainerRegistry> \
--cmd '$Registry/example/debian-9:v1' /dev/null
が、オプションの仕様などがわかりにくく、ちょっと使い辛いですね…
ACR 上のコンテナイメージの実行 (docker コマンド版)
ということで、いつもの docker コマンドで実行できるようにします。
まず、az acr login
コマンドで ACR にログインします。これにより docker
コマンドで ACR を見に行ってくれるようになります。
az acr login --name <myContainerRegistry>
そのうえで、ACR のサーバを指定して docker run
コマンドを実行すれば OK です。
$ docker run -it <myContainerRegistry>.azurecr.io/example/debian:9 bash
root@3d9bbcbe269a:/#
Discussion