メインコンテンツまでスキップ

Databricks CLIを使用してイメージをプッシュする

備考

ベータ版

この機能はベータ版です。使用するには、ワークスペース管理者がワークスペースプレビューページ から AI ランタイム ベータ機能 および Databricks アーティファクト Registry プレビューを有効にする必要があります。

Databricks CLI は、Docker 認証、イメージのタグ付け、および アーティファクトレジストリ へのプッシュを組み合わせるためのヘルパー コマンド databricks air images push を提供します。レジストリ リージョンを自動的に検出します。アーティファクトレジストリ ガイドの手動ステップの代わりに、このヘルパーを使用できます。ヘルパーは、イメージを構築したり、ワークロードをサブミットしたりしません。

前提条件​

ワークスペース認証の構成​

イメージを保存するワークスペースのワークスペースOAuthプロファイルを作成または更新します。

Shell
databricks auth login --profile my-databricks-profile

Docker認証情報ヘルパーは、このワークスペースOAuthプロファイルを必要とします。サポートされている認証方法については、Docker認証のセットアップを参照してください。

ローカルイメージをプッシュする​

例えば、 my-training-image:v1 という名前のローカルイメージを main.ml.training:v1 にプッシュします。

Shell
databricks air images push \
--profile my-databricks-profile \
--source my-training-image:v1 \
--catalog main \
--schema ml \
--artifact training:v1

このコマンドは、ワークロード YAML の environment.unity_catalog_image として使用する Unity Catalog イメージ名を出力します。この例では、 ワークロードで Docker イメージを使用するに示すように main.ml.training:v1 を使用します。

ヘルパーは、ローカルソースイメージが存在する場合にそのイメージを再利用します。それ以外の場合は、linux/amd64 のソースイメージをプルします。ローカルで利用可能な場合でもレジストリからソースイメージを更新するには、 --pull を追加します。イメージは linux/amd64 を使用する必要があります。互換性のないローカルイメージは、そのプラットフォームでプッシュする前に再構築します。ソースイメージがプライベートレジストリにある場合は、ヘルパーを実行する前に Docker をそのレジストリに対して認証します。

イメージの詳細を対話的に入力するには、イメージフラグなしでdatabricks air images push --profile my-databricks-profileをランします。すべてのオプションについてdatabricks air images push --helpをランします。

別のレジストリからイメージをプッシュする​

CLIヘルパーを使用して、別のコンテナーレジストリからアーティファクトレジストリに既存のイメージをコピーすることもできます。

次の例では、ソースとしてプライベートAmazon Elastic Container Registry(ECR)リポジトリを使用します。この例では、ECRに対して認証を行い、ソースイメージをプルできる資格情報を使用してAWS CLIをインストールして構成します。これらのAWS資格情報は、Databricksプロファイルとは別です。

最初に、DockerをソースECRレジストリに対して認証します。AWSアカウントID、リージョン、リポジトリ、およびイメージタグの例を独自の構成値に置き換えます。AWSリージョンは、送信先のDatabricksワークスペースではなく、ソースECRレジストリと一致する必要があります。AWSドキュメントの「プライベートレジストリ認証」を参照してください。

Shell
aws ecr get-login-password --region us-west-2 | \
docker login --username AWS --password-stdin \
123456789012.dkr.ecr.us-west-2.amazonaws.com

次に、完全な ECR イメージ URI を --source として渡します。

Shell
databricks air images push \
--profile my-databricks-profile \
--source 123456789012.dkr.ecr.us-west-2.amazonaws.com/my-training-image:v1 \
--catalog main \
--schema ml \
--artifact training:ecr-v1 \
--pull

--pull フラグは、ローカルにキャッシュされている場合でも、ECR から linux/amd64 イメージをフェッチします。ヘルパーは、ローカルのDockerインストールを使用してイメージをプル、タグ付け、およびプッシュします。ECR のソースイメージは変更されません。プッシュが成功したら、ワークロードYAMLの environment.unity_catalog_image を main.ml.training:ecr-v1 に設定します。