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

Databricks CLI でイメージをプッシュする

Databricks CLI は、Docker の認証、イメージのタグ付け、Artifact Registry へのプッシュを組み合わせるためのヘルパーコマンド databricks air images push を提供します。It detects the registry region automatically.You can use this helper instead of the manual ステップ in the アーティファクト Registry guide.The helper does not build images or submit workloads.

前提条件​

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

イメージを保存するワークスペースのワークスペース 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ヘルパーを使用して、別のコンテナーレジストリからアーティファクト Registryへ既存のイメージをコピーすることもできます。

次の例では、ソースとしてプライベートな Amazon Elastic Container Registry (ECR) リポジトリを使用します。For this example, install and configure the AWS CLI with credentials that can authenticate to ECR and pull the ソース image.These AWS credentials are separate from your Databricks profile.

まず、ソース ECR レジストリに対して Docker の認証を行います。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 に設定します。