Hub documentation

صور الحاويات

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

صور الحاويات

صور الحاويات هي نوع مستودع على Hugging Face Hub مخصص لصور Docker وغيرها من صور OCI. يخزّن سجل الحاويات الخاص بـ Hugging Face، cr.hf.co، الصور على نظام التخزين Xet. يمكنك رفعها وجلبها باستخدام hf image، وهو العميل الموصى به؛ كما تعمل العملاء القياسية مثل Docker وPodman وcrane وskopeo وORAS وHelm أيضاً.

تتوفر صور الحاويات في بيتا خاصة: تواصل معنا لتفعيلها لمنظمتك.

إنشاء مستودع

انتقل إلى huggingface.co/new-container واختر المنظمة واسمًا ومستوى الظهور. أو استخدم واجهة برمجة التطبيقات:

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}'

أنشئ المستودع قبل الدفع: فالدفع إلى مستودع غير موجود يفشل مع NAME_UNKNOWN. تعرض صفحته، https://huggingface.co/containers/my-org/my-app، وسومه. يتبع من يمكنه السحب والدفع مستوى ظهور المستودع ودور كل عضو في المنظمة.

الدفع والسحب باستخدام hf image

hf image، وهو امتداد لواجهة hf السطرية، ينقل فقط الأجزاء من كل طبقة التي تغيّرت منذ الإصدار السابق، مما يؤدي إلى تجربة أسرع مقارنةً بعملاء OCI الآخرين.

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

يستخدم رمز الوصول للمستخدم الخاص بك على Hugging Face (read للسحب، write للرفع) ويتطلب Docker مع مخزن صور containerd. يمكن لأي عميل سحب الصور التي تم رفعها باستخدام hf image.

بما أن hf image يخزّن الطبقات دون ضغط، فإن الصور التي يدفعها تحصل على بصمات مختلفة عن تلك الناتجة عن docker push. للحفاظ على بصمات docker push، سواء للتواقيع أو للنشر المثبّت بالبصمة، استخدم hf image push --preserve-digests. يكون هذا الخيار أبطأ: إذ تُدفع الطبقات المُعدَّلة وتُسحب كاملةً، تمامًا كما في docker push.

استخدام Docker وعملاء OCI الآخرين

نوصي باستخدام hf image (انظر القسم السابق) للاستفادة الكاملة من خلفية Xet، لكن يمكنك أيضاً التفاعل مع السجل عبر أي عميل OCI.

سجّل الدخول باستخدام اسم مستخدمك في Hugging Face ورمز User Access Token ككلمة مرور: read للسحب، وwrite للرفع. يمكن سحب الصور العامة دون تسجيل الدخول.

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

تعمل عملاء OCI الآخرون بنفس الطريقة. يضيف Helm اسم المخطط إلى عنوان URL: helm push mychart-0.1.0.tgz oci://cr.hf.co/my-org يدفع إلى my-org/mychart، والذي يجب أن يكون موجوداً مسبقاً.

حذف الصور

على Hub، احذف وسمًا باستخدام حذف هذا الوسم في قائمته، على صفحة الصورة أو الوسم. باستخدام hf image، احذف وسوم الصورة ثم احذفها عبر البصمة:

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>

إذا كان هناك ما يزال يشير إلى الصورة، مثل وسم آخر، يُرفض الحذف ويُعرض ما يجب إزالته أولاً. كما يؤدي حذف صورة متعددة المعماريات إلى حذف صور المنصات الخاصة بها.

جمع القمامة

يحذف السجل الصور التي لم تعد أي وسم يشير إليها، سواء بشكل مباشر أو عبر صورة متعددة المعماريات، مثل latest السابقة بعد عملية دفع جديدة. كما يحذف الطبقات التي لا تستخدمها أي صورة متبقية. وللاستمرار في سحب الصورة عبر البصمة، احتفظ بوسم عليها.

القيود

  • أسماء الصور هي cr.hf.co/<namespace>/<name>، بحروف صغيرة.
  • الطبقات حتى 100 غيغابايت، وملفات الوصف حتى 4 ميغابايت.
  • قد يستغرق عرض وسم جديد في قوائم الوسوم بضع ثوانٍ.
Update on GitHub