خطأ 'تم رفض الإذن' لعامل الإرساء

Khta Tm Rfd Aladhn L Aml Alarsa



عند العمل مع Docker، قد تواجه مثيلًا يُرجع فيه الأمر خطأ 'تم رفض الإذن'. يحدث هذا الخطأ عند محاولة تشغيل Docker بدون أذونات كافية للأمر.

يتطلب Docker أذونات sudo أو root لتنفيذ الأوامر المرتبطة بشكل افتراضي. تؤدي محاولة تشغيل أي أمر دون الامتيازات المطلوبة إلى ظهور الخطأ الشهير 'تم رفض الإذن'.







يوفر هذا البرنامج التعليمي الأساليب والتقنيات المتنوعة التي يمكنك استخدامها لإصلاح خطأ 'تم رفض الإذن' عند محاولة تشغيل أوامر Docker.



ضع في اعتبارك أنه لا يغطي عملية تشغيل Docker في بيئة بلا جذور. يمكنك التحقق من برنامجنا التعليمي حول Docker بدون جذور في المورد التالي:



متطلبات:

كما يمكنك التخمين، لمتابعة هذا المنشور، يجب أن يكون لديك ما يلي:





    1. إصدار دوكر 20.0 وما فوق
    2. أذونات Sudo أو root على النظام المضيف

ما هو الخطأ 'تم رفض الإذن'؟

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

$ تشغيل عامل الميناء -هو - هي com.businessbox ش



إذا واجهت الخطأ المحدد، يمكنك استخدام بعض الطرق التالية لمعرفة كيفية إصلاحه.



الطريقة الأولى: تشغيل Docker كجذر

الطريقة الأولى والأكثر وضوحًا لحل خطأ 'تم رفض الإذن' في Docker هي استخدام الأمر 'sudo'. إذا كانت لديك امتيازات sudo، فيمكنك إصلاحها عن طريق تشغيل الأمر المرتبط باستخدام sudo.

على سبيل المثال، لإصلاح الخطأ المذكور، يمكننا إلحاق Sudo قبل الأمر كما يلي:

$ sudo تشغيل عامل الميناء -هو - هي com.businessbox ش



كما ترى، نجح Docker في سحب الصور المطلوبة وتشغيل الحاوية.

الطريقة الثانية: إعادة تشغيل Docker Daemon

في بعض الأحيان، يمكنك الحصول على خطأ 'تم رفض الإذن' في Docker إذا كان المحرك يعاني من مشكلة. بدلاً من تتبع المشكلة يدويًا، يمكنك محاولة إعادة تشغيل برنامج Docker الخفي سريعًا لإعادة تحميله.

ابدأ بالتحقق من حالة برنامج Docker الخفي كما يلي:

$ عامل ميناء systemctl حالة عامل ميناء



بمجرد التأكد من تشغيل Docker، أعد تشغيل الخدمة باستخدام الأمر التالي:

$ sudo إعادة تشغيل عامل ميناء systemctl


من المفترض أن يؤدي هذا إلى تشغيل برنامج Docker الخفي وإصلاح أي مشكلة محتملة قد تمنعك من تشغيل أي أمر.

الطريقة الثالثة: تمكين المستخدم غير الجذر

هناك طريقة أخرى يمكنك استخدامها لحل خطأ 'تم رفض الإذن' في Docker وهي السماح للمستخدمين غير الجذر بتنفيذ أوامر Docker.

لتمكين هذه الطريقة، قم بتسجيل الدخول إلى النظام المضيف وإنشاء مجموعة جديدة لـ Docker.

$ sudo com.groupadd -F عامل ميناء


بعد ذلك، قم بإضافة أي مستخدم تريده إلى مجموعة Docker على النحو التالي:

$ sudo com.usermod -اي جي عامل ميناء لينكسهينت


يجب أن يضيف الأمر السابق مستخدم linuxhint إلى مجموعة Docker.

وأخيرًا، قم بتطبيق تغييرات المجموعة على الجلسة الحالية باستخدام الأمر التالي:

$ عامل ميناء newgrp


بمجرد الانتهاء، يمكنك تشغيل أي أمر Docker دون استخدام Sudo لأي مستخدم في مجموعة Docker.

الطريقة الرابعة: إعادة تكوين أذونات Docker

الطريقة التالية التي يمكنك استخدامها هي إعادة تعيين أذونات مآخذ توصيل Docker. ابدأ بتغيير ملكية مقبس Docker Unix عن طريق تشغيل الأمر التالي:

$ sudo chown الجذر:عامل ميناء / كان / يجري / docker.sock


بعد ذلك، احصل على ملكية دليل Docker المخفي في دليلك الرئيسي باستخدام الأمر كما يلي:

$ sudo chown ' $USER ' : ' $USER ' $المنزل / .عامل ميناء


أخيرًا، قم بتعيين المجموعة بأذونات القراءة والكتابة للدليل على النحو التالي:

$ sudo chmod ز+رو ' $المنزل /.عامل ميناء'


يجب أن تقوم الطرق المتوفرة بتعيين أذونات كافية لملفات وأدلة Docker الأساسية.

خاتمة

في هذا البرنامج التعليمي، تعلمنا كيف يمكننا استخدام الطرق الأربع الرئيسية لحل خطأ Docker 'تم رفض الإذن' عند استدعاء أمر Docker.