كيفية استخدام Docker Registry مع تسجيل الدخول وكلمة مرور
لكي تتمكن من استخدام docker-registry مع اسم مستخدم وكلمة مرور، يجب عليك تهيئة المستودع للتوثيق. يمكنك فعل ذلك من خلال اتباع الخطوات التالية:
-
تهيئة ملف تكوين docker daemon:
مقالات ذات صلة- قم بإنشاء ملف تكوين جديد إذا لم يكن موجودًا بالفعل:
bash
sudo mkdir -p /etc/docker sudo touch /etc/docker/daemon.json
- قم بفتح الملف للتعديل:
bash
sudo nano /etc/docker/daemon.json
- أضف الخطوط التالية إلى الملف:
json
{ "insecure-registries": ["localhost:5000"], "auths": { "localhost:5000": { "auth": "BASE64_ENCODED_USERNAME_PASSWORD" } } }
حيث تقوم بتعويض
BASE64_ENCODED_USERNAME_PASSWORD
بترميز Base64 لاسم المستخدم وكلمة المرور، يمكنك الحصول على الترميز بالأمر:bashecho -n 'username:password' | base64
- قم بإنشاء ملف تكوين جديد إذا لم يكن موجودًا بالفعل:
-
أعد تشغيل خدمة docker:
sudo systemctl daemon-reload sudo systemctl restart docker
-
قم بتسجيل الدخول إلى docker registry:
docker login localhost:5000
استبدل
localhost:5000
بموقع docker-registry الخاص بك إذا كان مختلفًا. -
قم بدفع الصورة إلى docker-registry:
bashdocker push localhost:5000/someimage
حيث تستبدل
someimage
بالاسم الصحيح للصورة التي تريد دفعها.
بعد اتباع هذه الخطوات، يجب أن تكون قادرًا على دفع الصور إلى docker-registry مع اسم المستخدم وكلمة المرور.
المزيد من المعلومات
للتأكد من أنك قمت بإعداد docker-registry بشكل صحيح، يمكنك اتباع الخطوات التالية:
-
إعداد docker-registry:
- قم بتشغيل docker-registry في جهازك المحلي باستخدام الأمر التالي:
arduino
docker run -d -p 5000:5000 --restart=always --name registry registry:2
يجب أن يقوم هذا الأمر بتشغيل docker-registry على المنفذ 5000 في جهازك المحلي.
- قم بتشغيل docker-registry في جهازك المحلي باستخدام الأمر التالي:
-
إنشاء اسم مستخدم وكلمة مرور:
- يجب عليك إنشاء اسم مستخدم وكلمة مرور لاستخدامها في تسجيل الدخول إلى docker-registry. يمكنك فعل ذلك باستخدام أدوات إدارة المستخدمين المتاحة في نظام التشغيل الخاص بك.
-
إعداد توثيق docker-registry:
- قم بإعداد docker-registry لاستخدام التوثيق باستخدام اسم المستخدم وكلمة المرور الجديدة. يمكنك القيام بذلك عن طريق إنشاء ملف
auth
يحتوي على ترميز Base64 لاسم المستخدم وكلمة المرور:bashecho -n 'username:password' | base64
- قم بإنشاء ملف
htpasswd
وإضافة اسم المستخدم وكلمة المرور إليه:sqlsudo apt-get update sudo apt-get install apache2-utils htpasswd -Bc auth username
حيث
username
هو اسم المستخدم الذي ترغب في استخدامه.
- قم بإعداد docker-registry لاستخدام التوثيق باستخدام اسم المستخدم وكلمة المرور الجديدة. يمكنك القيام بذلك عن طريق إنشاء ملف
-
إعداد docker-registry لاستخدام توثيق:
- قم بإنشاء ملف
config.yml
لتكوين docker-registry لاستخدام التوثيق:ymlversion: 0.1 log: fields: service: registry storage: cache: blobdescriptor: inmemory filesystem: rootdirectory: /var/lib/registry http: addr: :5000 headers: X-Content-Type-Options: [nosniff] auth: htpasswd: realm: basic-realm path: /auth/htpasswd
- قم بتشغيل docker-registry باستخدام ملف التكوين الجديد:
bash
docker run -d -p 5000:5000 --restart=always --name registry -v `pwd`/config.yml:/etc/docker/registry/config.yml -v `pwd`/auth:/auth registry:2
- قم بإنشاء ملف
-
تسجيل الدخول ودفع الصورة:
- قم بتسجيل الدخول إلى docker-registry باستخدام اسم المستخدم وكلمة المرور الجديدة:
docker login localhost:5000
- بعد تسجيل الدخول بنجاح، يمكنك دفع الصورة إلى docker-registry باستخدام الأمر:
bash
docker push localhost:5000/someimage
حيث
someimage
هو اسم الصورة التي ترغب في دفعها إلى docker-registry.
- قم بتسجيل الدخول إلى docker-registry باستخدام اسم المستخدم وكلمة المرور الجديدة:
بعد اتباع هذه الخطوات، يجب أن تكون قد قمت بإعداد docker-registry للتوثيق باستخدام اسم المستخدم وكلمة المرور، ويمكنك استخدام هذه المعلومات لدفع وسحب الصور من وإلى docker-registry.