Mengirim image-image dengan Databricks CLI

Important

Fitur ini ada di Beta. Untuk menggunakannya, admin ruang kerja harus mengaktifkan pratinjau AI Runtime Beta Features dan Databricks Artifact Registry dari halaman Pratinjau ruang kerja.

Databricks CLI menyediakan perintah databricks air images push pembantu untuk menggabungkan autentikasi Docker, penandaan gambar, dan pendorongan ke Registri Artefak. Mendeteksi wilayah registri secara otomatis. Anda dapat menggunakan pembantu ini sebagai pengganti langkah-langkah manual di panduan Artifact Registry. helper tidak membuat image 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.

Unggah gambar lokal

Misalnya, push gambar lokal bernama my-training-image:v1 ke 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 sebagai 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 mengambil gambar sumber untuk linux/amd64. Tambahkan opsi --pull untuk menyegarkan gambar sumber dari registrinya meskipun tersedia secara lokal. Gambar harus menggunakan linux/amd64. Bangun ulang citra lokal yang tidak kompatibel dengan platform tersebut sebelum mendorongnya. Jika gambar sumber berada di registri privat, autentikasi Docker ke registry tersebut sebelum menjalankan helper.

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 digunakan untuk autentikasi ke ECR dan menarik gambar sumber. Kredensial AWS ini terpisah dari profil Databricks Anda.

Pertama, autentikasi Docker dengan registri ECR sumber. Ganti contoh ID akun AWS, wilayah, repositori, dan tag image dengan nilai 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 image 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 disimpan 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.