Databricks アセット バンドルは、適切に機能する外部ライブラリとツールに依存します。 これらの依存関係の場所 (URL) にアクセスできる必要がある場合、またはバンドルの初期化が失敗します。 このため、インターネットにアクセスできないエアギャップネットワーク環境で Databricks アセット バンドルを使用する前に、Databricks CLI によって提供される Docker コンテナー イメージをダウンロードし、Docker を使用して Databricks アセット バンドルを管理する必要があります。
Docker コンテナー イメージをダウンロードする
Databricks CLI Docker コンテナー イメージは、ARM64 および AMD64 CPU アーキテクチャをサポートしており、Databricks CLI GitHub リポジトリで使用できます。 次のコマンドを実行して、使用可能な最新のイメージをダウンロードできます。
docker pull ghcr.io/databricks/cli:latest
特定の Databricks CLI バージョンに関連付けられているイメージをダウンロードする場合は、次に示すようにバージョンを指定します。
docker pull ghcr.io/databricks/cli:v0.218.0
Docker を使用して Databricks アセット バンドルを管理する
適切な Docker コンテナーをダウンロードしたら、Docker CLI を使用して databricks bundle
コマンドを直接または対話形式で実行できます。
直接実行
bundle
コマンドを直接実行するには、docker run
を使用します。 たとえば、次のコマンドは、/my-bundle
にあるバンドルをデプロイします。
docker run -v /my-bundle:/my-bundle -e DATABRICKS_HOST=... -e DATABRICKS_TOKEN=... --workdir /my-bundle ghcr.io/databricks/cli:latest bundle deploy
上の例では、-v /my-bundle:/my-bundle
同じバンドル名を使用して Docker コンテナーのファイル システムにmy-bundle
をマウント-e DATABRICKS_HOST=... -e DATABRICKS_TOKEN=...
、ホストと資格情報を環境変数として渡すことによって Databricks CLI を認証し、現在の作業ディレクトリを--workdir /my-bundle ghcr.io/databricks/cli:latest
に設定/my-bundle
。 その他 docker run
コマンド オプションについては、Docker ドキュメントを参照してください。
対話型実行
bundle
コマンドを対話形式で実行するには、次に示すように、docker run
オプションと -it
オプションで --entrypoint
を使用して、コンテナーにアタッチされた統合 sh
ターミナル セッションを起動します。
docker run -v /my-bundle:/my-bundle -e DATABRICKS_HOST=... -e DATABRICKS_TOKEN=... -it --entrypoint /bin/sh --workdir /my-bundle ghcr.io/databricks/cli:latest
Docker ターミナル セッションが開始されると、ターミナルで bundle
コマンドを直接実行できます。 次の例では、my-bundle
という名前のバンドルをデプロイします。
/my-bundle # databricks bundle deploy
ボリューム マウントは双方向に同期されるため、バンドルをローカルで変更してから、この Docker ターミナル セッションを使用して bundle
コマンドを実行できます。 この場合、docker run
をもう一度実行する必要はありません。