هذا نص مترجم آليًا وقد يحتوي على أخطاء!
تثبيت محرك Docker
هنا تقوم بتثبيت محرك Docker وإضافة Compose على خادم Linux. تكتمل العملية عندما يستجيب hello-world ويعرض Compose رقم الإصدار. اعمل في طرفية آلة الظرف (VM)، بأمر واحد في كل مرة.
إذا كان لديك بالفعل نظام مُثبّت يعمل، انتقل إلى [[Containerbruk Level 1 - Kjor og undersog en container|تشغيل واستكشاف حاوية]].
يشرح مقال ما هو Docker؟ مفهوم الصورة والحاوية والسجل. ويوضح مقال الحاويات وآلات الظرف العلاقة مع آلة الظرف الخاصة بنظام Linux.
المتطلبات المسبقة
تحتاج إلى خادم Debian أو Ubuntu في Proxmox وصلاحيات المسؤول. افتح الوحدة الطرفية (Console) على جهازك الافتراضي وقم بتسجيل الدخول. يتم تثبيت Docker واستخدامه داخل الجهاز الافتراضي، وليس في قشرة النظام (Shell) لبيئة مضيف Proxmox. يمكن تنفيذ التثبيت بالكامل من خلال الوحدة الطرفية. تسجيل الدخول من جهازك الشخصي باستخدام 🔐 SSH هو موضوع منفصل يمكنك التعامل معه لاحقًا.
يجب أن تكون قادرًا على عرض المجلد الحالي باستخدام pwd، وعرض محتوياته باستخدام ls، وتغيير المجلد باستخدام cd. تمارين أوامر سطر الأوامر تقدم دعمًا للعمل عبر طرفية الأوامر. يشرح مقال المستخدمون والصلاحيات في لينوكس المفاهيم المتعلقة بالمستخدمين والمجموعات؛ بينما تفاصيل إعداد root/sudo موضحة في دليل التثبيت أدناه.
جديد على Proxmox أو أساسيات الشبكات؟
يعرض [[تثبيت الخادم المستوى الثاني - آلة افتراضية في Proxmox|🖥️ تثبيت الخادم - آلة افتراضية في Proxmox]] كيفية إنشاء آلة افتراضية وتثبيت نظامي Ubuntu أو Debian، خطوة بخطوة. إذا لم يكن لديك وصول إلى Proxmox، فإن [[تثبيت الخادم المستوى الأول - العتاد المباشر|🖥️ تثبيت الخادم - العتاد المباشر]] يظهر لك نفس الشيء مباشرةً على الأجهزة المادية. و[[الافتراضي المستوى الأول - دليل الآلات الافتراضية|🖥️ الافتراضي]] هو مهمة التقييم التي ستوثق فيها لاحقًا إتقانك لهذا الأمر بشكل مستقل. أما بروتوكولات الشبكة فتغطي عناوين IP والمنافذ (Ports).
تثبيت Docker Engine
اتبع دليل التثبيت الرسمي لـ Docker Engine على Debian أو Docker Engine على Ubuntu.
اقرأ المتطلبات المسبقة واستخدم التثبيت باستخدام مستودع apt لنظام التشغيل الخاص بك. قم أولاً بإعداد مصدر حزم Docker، ثم ثبّت Docker Engine وإضافة Compose كما هو موضح هناك.
أوامر طويلة دون نسخ ولصق
غالبًا ما لا يعمل النسخ واللصق في وحدة تحكم Proxmox، وبضعة أسطر من دليل التثبيت تكون طويلة. اكتب سطرًا واحدًا في كل مرة، وقارن بين الأحرف حرفًا بحرف قبل الضغط على Enter. إذا فشل الأمر apt update بعد ذلك، فغالبًا يكون هناك خطأ إملائي في مصدر الحزمة أو مشكلة شبكة؛ راجع «إذا حدث شيء خاطئ».
ديبان بدون سودو؟
اتبع [[تثبيت الخادم المستوى 1 - العتاد الأصلي | الوصفة الخاصة بالجذر وسودو]] قبل أن تبدأ. يمكنك تثبيت سودو للمستخدم العادي، أو تشغيل أوامر الإدارة كمستخدم جذر في وحدة تحكم الآلة الافتراضية. عندما تكون مستخدم الجذر، تتخطى كلمة سودو التي تسبق الأوامر.
التثبيت على Debian
تم استيراد الأوامر أدناه من دليل Docker الخاص بـ Debian بتاريخ 14 أكتوبر 2026. إذا لم تعمل، فقد يكون Docker قد قام بتغييرها؛ قارنها في ذلك الحين مع الصفحة الرسمية. إذا كنت تستخدم Ubuntu، فأتبع الدليل الخاص بـ Ubuntu بدلاً من ذلك، لأن العناوين مختلفة.
تظهر بعض الكلمات في المخرجات من apt بالسويدية أو الدنماركية، مثل «Sammanhattning» و«Fortsätta؟». وهذا يأتي من الترجمة النرويجية لديبيان ولا يعني شيئًا بالنسبة للتثبيت.
1. احصل على مفتاح Docker. يتيح المفتاح لـ apt التحقق من أن الحزم تأتي فعلياً من Docker.
The input code block contains no comments (lines starting with #), so there is nothing to translate. The executable code remains unchanged as required by the constraints.
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
٢. أضف مصدر حزم Docker. اكتب السطر الأول واضغط على Enter. ستعرض الطرفية رمز > قبل كل سطر جديد حتى تكتب EOF. بعد ذلك، سيُخرج أمر tee محتوى الملف. يجب أن يُظهر الحقل Suites اسم إصدار نظام ديبيان لديك، مثلًا trixie.
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
بعد تنفيذ الأمر sudo apt update يجب أن ترى أسطرًا قادمةً من download.docker.com. إذا لم تكن موجودة، فمعنى ذلك وجود خطأ إملائي في الملف. راجع قسم “إذا حدث شيء ما”.
٣. ثبّت دوكر. أدخل حرف J عندما يسألك مدير الحزم apt عما إذا كنت تريد المتابعة.
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
تُظهر الرسوم المتحركة أيضًا أوامر sudo docker run hello-world من وحدة التحكم أدناه.
تحقق من التثبيت:
docker --version
docker compose version
sudo systemctl status docker
sudo docker run hello-world
يحمّل hello-world صورة صغيرة، ويبدأ حاوية اختبار ويطبع رسالة. اضغط على q إذا كان أمر systemctl status docker يعرض النتيجة في عارض صفحات وأنت ترغب بالعودة إلى الطرفية (terminal).
استخدم sudo قبل أوامر Docker التالية إذا لم يكن للمستخدم العادي صلاحية الوصول. إذا اخترت منح المستخدم العادي وصولاً من خلال مجموعة docker، قم بتشغيل الأوامر التالية من جلسة المستخدم العادي. تمنح المجموعة صلاحيات بمستوى الجذر؛ نفّذ هذا فقط للمستخدم الذي سينبغي عليه إدارة خادم التمرين:
sudo usermod -aG docker $USER
إذا كنت تشغّل هذا من جلسة root دون استخدام sudo، استخدم الأمر usermod -aG docker اسم_المستخدم_bك واستبدل اسم_المستخدم_bك بالمستخدم العادي الخاص بك. متغير $USER في جلسة root يشير إلى حساب root وليس إلى مستخدمك العادي.
قم بتسجيل الخروج ثم الدخول مرة أخرى (أو شغّل أمر newgrp docker) حتى تصبح التغييرات سارية المفعول. وحتى ذلك الحين، يمكنك استخدام كلمة sudo قبل الأوامر في التمارين التالية.
نقطة التحقق: تم تثبيت Docker
يجب أن يعرض الأمر hello-world رسالة مرحبًا من Docker!، ويجب أن يُظهر أمر docker compose version إصداراً معيناً. إذا كان أحد النتائج مفقوداً، صحّح التثبيت قبل بدء تشغيل خادم الويب. يُفضل عرض الأمر والاستجابة عند طلب المساعدة.
إذا فشلت التثبيت
| العَرَض | التحقق من |
|---|---|
لا يوجد أمر docker أو docker compose | أن كلًا من محرك Docker وإضافة Compose تم تثبيتهما وفقًا للدليل الخاص بنظام التشغيل لديك. |
رسالة permission denied عند استخدام أمر Docker | حاول باستخدام sudo. تغييرات المجموعة تتطلب تسجيل دخول جديد. |
| خدمة Docker غير تعمل | اقرأ مخرجات sudo systemctl status docker ورسالة الخطأ قبل المحاولة مرة أخرى. |
يعرض الأمر apt update كلمة Malformed أو Unsupported file | قارن ملف مصدر الحزم مع دليل Docker حرفًا بحرف. |
ظهور NO_PUBKEY أو is not signed | تأكد من تحميل المفتاح إلى المسار الصحيح وأنه قابل للقراءة بواسطة apt. |
رسائل مثل Could not resolve, Failed to fetch, timeout أو dial tcp | الآلة الافتراضية لا تستطيع الوصول إلى مصدر الحزم أو المستودع. استخدم [[طريقة تشخيص الأخطاء المستوى 1 - التشخيص المنهجي لطرق الأخطاء |
الخطوة التالية
عندما يعرض hello-world رسالة مرحبًا من Docker! ويعرض Compose إصدارًا، تابع إلى [[استخدام الحاويات المستوى 1 - تشغيل وفحص حاوية|تشغيل وفحص حاوية]]. هناك ستقوم بجلب Nginx والتحقق من أي حاوية تستجيب.
تمرين الحاويات حاليًا في [[استخدام الحاويات المستوى 1 - تشغيل وفحص حاوية|تشغيل وفحص حاوية]].
تمارين التخزين حاليًا في [[استخدام الحاويات المستوى 2 - حفظ البيانات خارج الحاوية|حفظ البيانات خارج الحاوية]].


