Push image dengan Databricks CLI

Databricks CLI menyediakan perintah databricks air images push pembantu untuk menggabungkan autentikasi Docker, penandaan gambar, dan pendorongan ke Registri Artefak. Perangkat ini mendeteksi wilayah registri secara otomatis. Anda dapat menggunakan pembantu ini sebagai pengganti langkah-langkah manual di panduan Registri Artefak. Pembantu tidak membuat gambar atau mengirimkan beban kerja.

Prerequisites

Konfigurasikan autentikasi ruang kerja

Buat atau segarkan profil OAuth workspace untuk workspace tempat Anda ingin menyimpan gambar:

databricks auth login --profile my-databricks-profile

Pembantu kredensial Docker memerlukan profil OAuth workspace ini. Untuk metode autentikasi yang didukung, lihat Atur autentikasi Docker.

Dorong gambar lokal

Misalnya, dorong gambar lokal bernama my-training-image:v1 :main.ml.training:v1

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

Perintah ini mencetak nama gambar Unity Catalog untuk digunakan seperti environment.unity_catalog_image di YAML beban kerja Anda. Untuk contoh ini, gunakan main.ml.training:v1, seperti yang ditunjukkan pada Gunakan gambar Docker dalam beban kerja.

Helper menggunakan ulang gambar sumber lokal ketika sudah ada. Jika tidak, ia menarik gambar sumber untuk linux/amd64. Tambahkan --pull untuk menyegarkan gambar sumber dari registry-nya meskipun tersedia secara lokal. Gambar harus menggunakan linux/amd64. Bangun ulang citra lokal yang tidak kompatibel untuk platform tersebut sebelum mendorongnya. Jika image sumber berada di registri privat, autentikasikan Docker ke registri tersebut sebelum menjalankan alat bantu.

Untuk memasukkan detail gambar secara interaktif, jalankan databricks air images push --profile my-databricks-profile tanpa flag gambar. Jalankan databricks air images push --help untuk semua opsi.

Push image dari registry lain

Anda juga dapat menggunakan CLI helper untuk menyalin gambar yang sudah ada dari registry kontainer lain ke Artifact Registry.

Contoh berikut menggunakan repositori Amazon Elastic Container Registry (ECR) yang bersifat privat sebagai sumber. Untuk contoh ini, instal dan konfigurasikan AWS CLI dengan kredensial yang dapat diautentikasi ke ECR dan menarik gambar sumber. Kredensial AWS ini terpisah dari profil Databricks Anda.

Pertama, autentikasi Docker ke registri ECR sumber. Ganti contoh ID akun AWS, region, repositori, dan tag image dengan nilai milik Anda sendiri. Region AWS harus sama dengan registri ECR sumber, bukan ruang kerja Databricks tujuan. Lihat autentikasi registri pribadi dalam dokumentasi AWS.

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

Kemudian berikan URI gambar ECR lengkap sebagai --source:

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

Flag --pull mengambil image linux/amd64 dari ECR meskipun image tersebut sudah di-cache secara lokal. Alat bantu ini menggunakan instalasi Docker lokal Anda untuk mengunduh, menandai, dan mengunggah citra. Gambar sumber di ECR tidak berubah. Setelah push berhasil, atur environment.unity_catalog_image ke main.ml.training:ecr-v1 di YAML workload.