Hub documentation

Gambar Container

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Gambar Container

Container Images adalah tipe repo di Hugging Face Hub untuk Docker dan gambar OCI lainnya. Registry container Hugging Face, cr.hf.co, menyimpan gambar di backend penyimpanan Xet. Push dan pull gambar dengan hf image, klien yang direkomendasikan; klien standar seperti Docker, Podman, crane, skopeo, ORAS, dan Helm juga berfungsi.

Container Images sedang dalam private beta: hubungi kami untuk mengaktifkannya di organisasi Anda.

Membuat Repositori

Buka huggingface.co/new-container dan pilih organisasi, nama, serta visibilitas. Atau gunakan API:

curl -X POST https://huggingface.co/api/containers/my-org/my-app \
  -H "Authorization: Bearer $HF_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"private": true}'

Buat repositori sebelum melakukan push: push ke repositori yang tidak ada akan gagal dengan NAME_UNKNOWN. Halamannya, https://huggingface.co/containers/my-org/my-app, mencantumkan tag-nya. Siapa yang dapat pull dan push mengikuti visibilitas repositori dan peran masing-masing anggota dalam organisasi.

Mendorong dan Menarik dengan hf image

hf image, sebuah ekstensi dari CLI hf, hanya mentransfer bagian dari setiap layer yang berubah sejak versi sebelumnya, sehingga menghasilkan pengalaman yang lebih cepat dibandingkan klien OCI lainnya.

hf extensions install hf-image
hf auth login                                   # or set HF_TOKEN
hf image build -t cr.hf.co/my-org/my-app:v2 .   # optional: docker build works too
hf image push cr.hf.co/my-org/my-app:v2
hf image pull cr.hf.co/my-org/my-app:v2

Ini menggunakan User Access Token Hugging Face Anda (read untuk pull, write untuk push) dan membutuhkan Docker dengan containerd image store. Image yang di-push dengan hf image dapat di-pull oleh klien mana pun.

Karena hf image menyimpan layer tanpa kompresi, gambar yang didorong memiliki digest yang berbeda dibandingkan dengan docker push. Untuk mempertahankan digest dari docker push, misalnya untuk tanda tangan atau deployment yang dikunci berdasarkan digest, gunakan hf image push --preserve-digests. Proses ini lebih lambat: layer yang berubah akan didorong dan ditarik secara penuh, sama seperti dengan docker push.

Menggunakan Docker dan Klien OCI Lainnya

Meskipun kami merekomendasikan penggunaan hf image (lihat bagian sebelumnya) untuk memanfaatkan sepenuhnya backend Xet, Anda juga dapat berinteraksi dengan registry melalui klien OCI apa pun.

Masuk dengan nama pengguna Hugging Face Anda dan User Access Token sebagai kata sandi: read untuk menarik, write untuk mendorong. Gambar publik dapat ditarik tanpa masuk.

echo $HF_TOKEN | docker login cr.hf.co -u <username> --password-stdin
docker tag my-app cr.hf.co/my-org/my-app:v1
docker push cr.hf.co/my-org/my-app:v1
docker pull cr.hf.co/my-org/my-app:v1

Klien OCI lainnya bekerja dengan cara yang sama. Helm menambahkan nama chart ke URL: helm push mychart-0.1.0.tgz oci://cr.hf.co/my-org mendorong ke my-org/mychart, yang harus sudah ada sebelumnya.

Menghapus Gambar

Di Hub, hapus tag menggunakan Hapus tag ini di menu pada halaman gambar atau tag. Dengan hf image, hapus tag dari gambar, lalu hapus gambar tersebut berdasarkan digest:

hf image untag cr.hf.co/my-org/my-app:v1                # prints the image's digest
hf image delete cr.hf.co/my-org/my-app@sha256:<digest>

Jika masih ada sesuatu yang merujuk ke gambar, seperti tag lain, penghapusan akan ditolak dan akan menampilkan daftar apa yang harus dihapus terlebih dahulu. Menghapus gambar multi-arch juga akan menghapus gambar platformnya.

Pengumpulan Sampah

Registry menghapus gambar yang tidak lagi ditunjuk oleh tag mana pun, baik secara langsung maupun melalui gambar multi-arch, seperti latest sebelumnya setelah push baru. Registry juga menghapus layer yang tidak digunakan oleh gambar yang tersisa. Untuk tetap menarik gambar berdasarkan digest, pertahankan tag pada gambar tersebut.

Batasan

  • Nama gambar adalah cr.hf.co/<namespace>/<name>, dalam huruf kecil.
  • Lapisan hingga 100 GB, manifest hingga 4 MiB.
  • Daftar tag dapat membutuhkan beberapa detik untuk menampilkan tag baru.
Update on GitHub