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

Databricks Asset Bundles をエアギャップ環境で動作するように設定

Databricks アセット バンドルは、適切に機能するために外部のライブラリとツールに依存します。これらの依存関係の場所 (URL) にアクセスできる必要があります。そうでないと、バンドルの初期化が失敗します。このため、インターネットにアクセスできないエアギャップ ネットワーク環境で Databricks アセット バンドルを使用する前に、Databricks CLI によって提供される Docker コンテナー イメージをダウンロードし、Docker を通じて Databricks アセット バンドルを管理する必要があります。

Docker コンテナイメージのダウンロード

Databricks CLI Docker コンテナー イメージは、ARM64 と AMD64 の CPU アーキテクチャをサポートしており、 Databricks CLI GitHub リポジトリで入手できます。 利用可能な最新のイメージをダウンロードするには、次のコマンドを実行します。

Bash
docker pull ghcr.io/databricks/cli:latest

特定の Databricks CLI バージョンに関連付けられているイメージをダウンロードする場合は、次に示すようにバージョンを指定します。

Bash
docker pull ghcr.io/databricks/cli:v0.218.0

Docker による Databricks アセットバンドルの管理

適切な Docker コンテナをダウンロードしたら、Docker CLI を使用して、直接または対話形式で databricks bundle コマンドを実行できます。

直接実行

bundleコマンドを直接実行するには、docker runを使用します。たとえば、次のコマンドは、 /my-bundleにあるバンドルをデプロイします。

Bash
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 オプションを使用して、次に示すように、コンテナにアタッチされた統合 shU ターミナル セッションを起動します。

Bash
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 を再度実行する必要はありません。