AI-200:Developing AI Cloud Solutions on Azure Azure でのコンテナー化されたソリューションの開発 問1
Azure でのコンテナー化されたソリューションの開発/コンテナー アプリケーション ホスティングの実装(Container Registry・App Service)開発者の PC には Docker Engine がインストールされていません。手元のソースコードと Dockerfile からコンテナー イメージをビルドし、既存の Azure Container Registry(ACR)にプッシュしたいと考えています。会社の規定で、この PC には新しいソフトウェアをインストールできません。適切な方法はどれですか。
当サイトのオリジナル問題(AI-200:Developing AI Cloud Solutions on Azureの出題範囲「Azure でのコンテナー化されたソリューションの開発」に対応。実際の試験問題ではありません)
- APC に Docker Engine をインストールし、docker build でビルドしてから docker push で ACR にプッシュする
- Baz acr import コマンドで、ソースコードのディレクトリをイメージとして ACR に取り込む
- Caz acr build コマンドでビルド コンテキストを ACR に送り、ACR タスクのクイック タスクとしてクラウド上でビルドとプッシュを行う
- DACR に匿名プル アクセスを許可し、ACR 側から PC のソースコードを取得してビルドさせる
正解:C
解説
ACR タスクのクイック タスクを使うと、イメージのビルドを Azure 側に任せられます。az acr build コマンドはビルド コンテキスト(ソースコードと Dockerfile)を ACR に送り、クラウド上でビルドしたイメージを既定でそのレジストリにプッシュします。ローカルに Docker Engine をインストールする必要はありません。
選択肢ごとの解説
- A誤り。この方法でもイメージは作れますが、Docker Engine のインストールが必要です。PC に新しいソフトウェアをインストールできないという制約に反します。
- B誤り。az acr import は、ほかのレジストリにある既存のイメージを ACR に取り込むコマンドです。ソースコードからイメージをビルドする機能ではありません。
- C正しい。クイック タスクは docker build と docker push に相当する処理をクラウド上で行うため、ローカルの Docker Engine は不要です。
- D誤り。匿名プル アクセスは、認証なしでイメージを取得(プル)できるようにする設定です。ACR が開発者の PC からソースコードを取りに行く仕組みはありません。