Databricks Asset Bundles をエアギャップ環境で動作するように設定
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
U ターミナル セッションを起動します。
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
を再度実行する必要はありません。