- 1 1. ما هو Docker؟ علاقته بـ Ubuntu
- 2 2. البيئة والمتطلبات الأساسية
- 3 3. تثبيت وإعداد Docker Engine
- 4 4. استخدام أوامر docker بدون sudo
- 5 5. بدء وتشغيل Docker Daemon تلقائيًا
- 6 6. خطوات تشغيل حاوية Ubuntu
- 7 7. ملخص أوامر إدارة الحاويات الأساسية
- 8 8. استكشاف الأخطاء وحلول المشاكل الشائعة
- 9 9. الملخص والخطوات التالية
- 10 10. الأسئلة الشائعة (FAQ)
- 10.1 Q1. هل يمكن استخدام Docker على Ubuntu Desktop وUbuntu Server؟
- 10.2 Q2. هل أحتاج Docker Desktop على Ubuntu؟
- 10.3 Q3. ما هو وضع rootless (بدون صلاحيات root)؟
- 10.4 Q4. كيف أضيف تخزين دائم (Persistent Storage) للحاوية؟
- 10.5 Q5. كيف أجعل الحاوية أو خدمة Docker تعمل تلقائيًا بعد إعادة التشغيل؟
- 10.6 Q6. هل يمكن تشغيل صور (Images) أنظمة أخرى على Ubuntu؟
- 10.7 Q7. كيف أنظّف الصور أو الحاويات غير الضرورية؟
- 10.8 Q8. أين أبحث عن حلول أو دعم عند المشاكل؟
- 10.9 Q9. كيف أتعلم إدارة عدة حاويات (Docker Compose)؟
- 10.10 Q10. هل يدعم Docker أحدث إصدارات Ubuntu (مثل 24.04)؟
1. ما هو Docker؟ علاقته بـ Ubuntu
Docker هو تقنية افتراضية تقوم بتعبئة بيئة تشغيل التطبيقات كوحدة تُسمى “حاوية” (Container)، مما يتيح لك تشغيلها على أي خادم أو كمبيوتر بنفس الطريقة. بخلاف الآلات الافتراضية التقليدية، يتم تشغيل الحاويات مباشرة على نظام التشغيل المضيف، مما يوفر بيئة أخف وأسرع.
تُعتبر أنظمة Linux مثل Ubuntu متوافقة جدًا مع Docker، ويستخدمها العديد من المطورين ومديري الخوادم سواء للشركات أو للأفراد. يرجع ذلك إلى أن Ubuntu مفتوح المصدر وشائع كخادم، إضافة إلى سهولة إدارة الحزم ودعم رسمي قوي.
باستخدام Docker، يمكنك التخلص من مشاكل مثل “عدم عمل التطبيق في بيئات مختلفة”. سواء كنت تستخدم جهاز تطوير أو خادم إنتاج، يمكنك بسهولة إعادة إنشاء نفس البيئة باستخدام حاويات Docker. كما أن Ubuntu مدعوم رسميًا من Docker، لذا توجد الكثير من الشروحات وخطوات التثبيت الرسمية.
في هذا المقال، سنشرح بالتفصيل كيفية “تثبيت Docker على Ubuntu وتشغيل حاوية Ubuntu الفعلية”. سواء كنت تستخدم Docker لأول مرة أو لديك خبرة وتود مراجعة الأساسيات، ستجد في هذا الدليل ما يفيدك.
2. البيئة والمتطلبات الأساسية
لاستخدام Docker على Ubuntu، يجب استيفاء بعض المتطلبات الأساسية والتحضيرات. لسهولة التثبيت والتشغيل، سنلخص هنا البيئة المطلوبة ونقاط التحقق المسبق.
حول إصدار Ubuntu
يُنصح باستخدام Docker على Ubuntu 18.04 LTS أو أحدث. إصدارات LTS مثل “Ubuntu 20.04 LTS” و”Ubuntu 22.04 LTS” و”Ubuntu 24.04 LTS” تتمتع بدعم طويل الأمد. قد تحدث مشاكل في تثبيت Docker أو التبعيات إذا استخدمت إصدارًا أقدم، لذا استخدم أحدث إصدار LTS قدر الإمكان.
متطلبات النظام
على الرغم من أن Docker تقنية حاويات خفيفة، إلا أنه عند تشغيل عدة حاويات أو لأغراض التطوير والاختبار، تحتاج بعض الموارد. يُوصى بأن تتوفر لديك المتطلبات التالية على الأقل:
- تثبيت Ubuntu إصدار 64-بت (لا يدعم 32-بت)
- المعالج: يُفضل معالج ثنائي النواة أو أكثر
- الذاكرة: 2 جيجابايت أو أكثر (4 جيجابايت أو أكثر يفضَّل)
- مساحة تخزين فارغة: لا تقل عن 10 جيجابايت
الاتصال بالإنترنت
يلزم اتصال بالإنترنت لتثبيت Docker وتنزيل الصور. في التثبيت الأول قد تحتاج لتنزيل كمية كبيرة من البيانات، لذا احرص على وجود اتصال ثابت وسريع.
حول صلاحيات المستخدم
يتطلب تثبيت Docker وإدارة النظام صلاحيات “sudo” (صلاحيات المدير). إذا لم يكن لديك صلاحية مدير، اطلبها من المسؤول أو قم بإعدادها مؤقتًا.
إزالة حزم Docker القديمة
إذا قمت بتثبيت حزم مثل “docker” أو “docker.io” يدويًا سابقًا، يُنصح بإزالتها لتجنب التعارضات والمشكلات.
sudo apt-get remove docker docker-engine docker.io containerd runc
سيساعد هذا في منع المشكلات الناتجة عن وجود حزم قديمة.
ملخص
تأكد من مراجعة النقاط أعلاه والتأكد من توفر البيئة اللازمة قبل المتابعة لخطوات التثبيت والإعداد التالية. إذا كان كل شيء جاهزًا، فستكون عملية تثبيت Docker سهلة وسلسة.
3. تثبيت وإعداد Docker Engine
سنشرح هنا كيفية تثبيت Docker Engine على Ubuntu وإجراء الإعدادات الأساسية. باستخدام المستودع الرسمي، يمكنك تثبيت Docker الأحدث والأكثر استقرارًا.
إضافة المستودع الرسمي والتحضيرات
أضف مستودع Docker الرسمي إلى apt. قم بجميع الخطوات عبر الطرفية كما يلي:
- تثبيت الحزم المطلوبة
sudo apt-get update
sudo apt-get install
ca-certificates
curl
gnupg
lsb-release
- إضافة مفتاح GPG
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
- إضافة مستودع Docker
echo
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu
$(lsb_release -cs) stable" |
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
تثبيت Docker Engine
بعد إضافة المستودع، قم بتثبيت Docker Engine:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
بعد التثبيت، تحقق من إصدار Docker:
docker --version
إذا رأيت مثل “Docker version 25.0.3, build 1234567″، فقد تم التثبيت بنجاح.
حول Docker Desktop (معلومة إضافية)
عادةً يتم استخدام “Docker Engine” على Ubuntu، لكن مؤخراً توفر “Docker Desktop for Linux” رسميًا. إذا كنت بحاجة لواجهة رسومية للإدارة، يمكنك تجربة Docker Desktop، أما إذا كنت تفضل العمل عبر الطرفية (CLI)، فـ Docker Engine يكفي.
في حال حدوث مشاكل
إذا ظهرت أخطاء مثل “تعذر العثور على الحزمة”، تحقق من إعدادات المستودع أو مفتاح GPG. أيضًا إذا كانت هناك إصدارات Docker قديمة، أعد مراجعة خطوات إزالة الحزم من القسم السابق.
4. استخدام أوامر docker بدون sudo
بعد تثبيت Docker، لا يمكن استخدامه إلا بصلاحيات المدير (sudo). ولكي تتجنب إدخال sudo كل مرة وتقلل من خطر تغيير النظام بالخطأ، يُوصى بإضافة حسابك إلى مجموعة “docker”. بهذا يمكنك تشغيل Docker بسهولة وأمان بدون sudo.
خطوات إضافة المستخدم إلى مجموعة docker
- إضافة المستخدم الحالي إلى مجموعة docker:
استخدم الأمر التالي (سيتم استبدال$USER
باسم المستخدم الحالي تلقائيًا)
sudo usermod -aG docker $USER
- تطبيق التغييرات:
يجب تسجيل الخروج والدخول مرة أخرى ليتم تفعيل التغييرات. أسهل طريقة هي تسجيل الخروج ثم الدخول.
يمكنك أيضًا تنفيذ الأمر التالي لتطبيق التغيير فورًا:
newgrp docker
- التحقق:
تأكد من أنك تستطيع تشغيل أوامر Docker بدون sudo. مثلاً، نفذ الأمر التالي للتحقق من الإصدار:
docker version
ملاحظة حول الأمان
بإضافة المستخدم لمجموعة docker يحصل على صلاحيات قوية، لذا يجب الانتباه لإدارة المجموعة خاصة في البيئات متعددة المستخدمين. للاستخدام الشخصي أو بيئات التطوير، هذا ليس مصدر قلق كبير، لكن في خوادم الشركات يجب الالتزام بسياسات الأمان.
بعد تنفيذ هذه الخطوات، ستصبح إدارة Docker أسهل بكثير.
5. بدء وتشغيل Docker Daemon تلقائيًا
يعمل Docker كخدمة دائمة تُسمى “daemon” (dockerd
). بعد التثبيت، يُضبط Docker تلقائيًا ليبدأ تلقائيًا، لكن يمكنك التحكم يدويًا في تشغيله أو إيقافه أو ضبط التشغيل التلقائي عند إعادة تشغيل النظام. سنشرح هنا كيفية إدارته على Ubuntu.
تشغيل/إيقاف/إعادة تشغيل Docker Daemon
يمكنك استخدام أوامر systemctl
:
- تشغيل
sudo systemctl start docker
- إيقاف
sudo systemctl stop docker
- إعادة تشغيل
sudo systemctl restart docker
- التحقق من الحالة
sudo systemctl status docker
هذا الأمر يعرض الحالة الحالية وأي رسائل خطأ.
إعداد التشغيل التلقائي (تمكين/تعطيل عند الإقلاع)
يمكنك ضبط Docker ليبدأ تلقائيًا مع النظام أو تعطيل ذلك:
- تمكين التشغيل التلقائي
sudo systemctl enable docker
- تعطيل التشغيل التلقائي
sudo systemctl disable docker
هذا مفيد إذا كنت ترغب في التحكم اليدوي في بيئة التطوير أو الاختبار.
ملاحظة: يمكنك أيضًا استخدام أمر service
في الإصدارات القديمة أو إذا اعتدت على ذلك، يمكنك استخدام أوامر مثل service docker start
، لكن ينصح باستخدام systemctl
الآن.
نقاط التحقق في حالة ظهور أخطاء
- إذا لم يبدأ Docker Daemon، تحقق من الرسائل عبر
sudo systemctl status docker
. - قد تحدث أخطاء إذا كانت الحزم أو إعدادات kernel غير مناسبة.
- يمكن مراجعة السجلات عبر
journalctl -u docker
.
بهذا تتقن أساسيات تشغيل وإدارة Docker Daemon.
6. خطوات تشغيل حاوية Ubuntu
سنشرح هنا خطوات تشغيل “حاوية Ubuntu” على Ubuntu فعليًا. بعد تثبيت Docker، يجب تحميل صورة (Image) وتشغيلها. سنستخدم صورة Ubuntu الرسمية كمثال.
1. تنزيل صورة Ubuntu (pull)
قم بتنزيل صورة Ubuntu من Docker Hub (مستودع الصور الرسمي). يمكنك تحديد إصدار مثل “22.04”، وإذا لم تحدد فسيتم استخدام الأحدث (latest).
docker pull ubuntu:22.04
أو
docker pull ubuntu
يُفضل تحديد الإصدار بشكل صريح.
2. تشغيل حاوية Ubuntu جديدة (run)
شغّل الحاوية باستخدام الصورة التي تم تحميلها:
docker run -it --name myubuntu ubuntu:22.04 /bin/bash
-it
: للوضع التفاعلي (shell)--name myubuntu
: تسمية الحاوية (اختياري)ubuntu:22.04
: اسم الصورة المستخدمة/bin/bash
: الأمر الذي يتم تشغيله داخل الحاوية
سيتم نقلك مباشرة إلى shell داخل بيئة Ubuntu في الحاوية.
3. التشغيل في الخلفية (Background)
للاستخدامات الدائمة أو كخادم:
docker run -d --name myubuntu ubuntu:22.04 tail -f /dev/null
تبقى الحاوية قيد التشغيل دون تنفيذ شيء.
4. إيقاف/إعادة تشغيل الحاوية
- لإيقاف الحاوية
docker stop myubuntu
- لإعادة التشغيل
docker start myubuntu
5. التحقق من الحالة
- عرض الحاويات النشطة
docker ps
- لعرض كل الحاويات (النشطة والمتوقفة)
docker ps -a
ملخص
شرحنا هنا خطوات “تنزيل صورة Ubuntu” → “تشغيل الحاوية” → “إدارة أساسية”. جربها بنفسك لتكتشف مدى فعالية Docker.
7. ملخص أوامر إدارة الحاويات الأساسية
يتميز Docker بالمرونة والسهولة في إنشاء وإيقاف وحذف الحاويات. سنلخص هنا أهم الأوامر المستخدمة في إدارة حاويات Ubuntu.
عرض قائمة الحاويات
- عرض الحاويات النشطة
docker ps
- عرض جميع الحاويات بما فيها المتوقفة
docker ps -a
تشغيل/إيقاف/إعادة تشغيل الحاوية
- تشغيل الحاوية
docker start [اسم أو معرف الحاوية]
- إيقاف الحاوية
docker stop [اسم أو معرف الحاوية]
- إعادة تشغيل الحاوية
docker restart [اسم أو معرف الحاوية]
الاتصال بالحاوية وتنفيذ الأوامر
- تنفيذ أمر داخل حاوية نشطة (exec)
docker exec -it [اسم أو معرف الحاوية] /bin/bash
حذف الحاوية
- حذف الحاوية
docker rm [اسم أو معرف الحاوية]
- الحذف الإجباري (حتى لو كانت نشطة)
docker rm -f [اسم أو معرف الحاوية]
حذف الصور (Images)
- عرض الصور غير المستخدمة
docker images
- حذف صورة
docker rmi [اسم أو معرف الصورة]
أوامر مفيدة أخرى
- عرض السجلات (Logs)
docker logs [اسم أو معرف الحاوية]
- عرض استخدام القرص
docker system df
نصائح مهمة
- إتقان الأوامر الأساسية مثل
docker ps
وdocker start
وdocker stop
وdocker exec
يسهل إدارة النظام وحل المشكلات. - قم بحذف الحاويات أو الصور غير الضرورية بشكل دوري لإدارة مساحة التخزين.
8. استكشاف الأخطاء وحلول المشاكل الشائعة
قد تواجه مشاكل أو أخطاء أثناء استخدام Docker أو حاويات Ubuntu. سنستعرض هنا أهم المشاكل وحلولها، مع التركيز على البحث الشائع “تشغيل ubuntu docker”.
المشاكل الشائعة وحلولها
1. خطأ “Cannot connect to the Docker daemon”
يحدث عادةً إذا لم يكن Docker Daemon نشطًا أو إذا كانت هناك مشكلة في الصلاحيات.
- الحل:
- تحقق من حالة Daemon:
sudo systemctl status docker
- إذا لم يكن نشطًا، شغّله:
sudo systemctl start docker
- إذا احتجت صلاحيات sudo، استخدمها أو أضف المستخدم لمجموعة docker كما في القسم الرابع.
2. مشكلة الحزم القديمة أو التعارض
قد تظهر مشاكل إذا سبق وركبت حزم “docker” أو “docker.io” أو “docker-engine”.
- الحل:
قم بإزالة الحزم القديمة.
sudo apt-get remove docker docker-engine docker.io containerd runc
3. فشل تشغيل الحاوية
قد يكون سبب ذلك خطأ في اسم الصورة أو الأمر أو نقص الموارد.
- الحل:
- تحقق من صحة اسم الصورة أو الأمر
- استخدم
docker images
للتأكد من وجود الصورة الصحيحة - تحقق من مساحة التخزين والذاكرة في الخادم
4. خطأ تعارض المنافذ (Port Conflict)
إذا حاولت تشغيل الحاوية على منفذ مستخدم مسبقًا سيحدث خطأ.
- الحل:
- استخدم منفذ مختلف
- أوقف العملية الحالية التي تستخدم المنفذ
5. ملاحظات حول وضع rootless (بدون صلاحيات root)
يوفر Docker وضع تشغيل بدون صلاحيات root لتعزيز الأمان، لكن به بعض القيود أو يحتاج لإصدار محدد. راجع الوثائق الرسمية ورسائل الخطأ إذا واجهت مشاكل.
قائمة تحقق عملية
- استخدم
docker ps -a
لمراجعة حالة الحاويات - استخدم
docker logs [اسم الحاوية]
لعرض تفاصيل الخطأ - راجع السجلات باستخدام
journalctl -u docker
نصائح ملخصة
معظم مشاكل Docker ناتجة عن الصلاحيات أو تعارض الإصدارات أو خطأ الإعداد. عند مواجهة مشكلة، اقرأ رسالة الخطأ بعناية، وإذا لزم الأمر أعد التثبيت أو راجع الإعدادات.
9. الملخص والخطوات التالية
في هذا المقال استعرضنا كيفية “تثبيت Docker على Ubuntu وتشغيل حاوية Ubuntu” من الأساسيات حتى التطبيق العملي. لنستعرض أهم النقاط ونقترح خطوات التوسع القادمة.
مراجعة سريعة لمحتوى المقال
- مقدمة عن Docker وفوائده:
تكامل عالي مع Ubuntu، سهولة إنشاء بيئة موحدة. - التحضيرات الأساسية:
إصدار Ubuntu، المواصفات، الصلاحيات، إزالة الحزم القديمة. - طريقة تثبيت Docker Engine:
استخدام المستودع الرسمي للحصول على Docker آمن وحديث. - التشغيل بدون sudo وإدارة الخدمة:
إضافة المستخدم لمجموعة docker، إدارة الخدمة عبر systemctl. - تشغيل الحاوية واستخدام الأوامر:
إنشاء، إدارة، وتشغيل الحاويات. - حل المشاكل الشائعة:
الصلاحيات، تعارض الإصدارات، المشكلات العملية المتكررة.
الخطوات القادمة واستخدامات أكثر تقدماً
أول خطوة لإتقان Docker هي تجربة تشغيل الحاوية وتعلم الأوامر الأساسية. بعد ذلك، جرب تطبيقات أكثر تقدماً مثل:
- بناء حاويات مخصصة باستخدام Dockerfile:
يمكنك تخصيص الصور بما يناسب استخدامك. - إدارة عدة حاويات مع Docker Compose:
تشغيل عدة خدمات (مثل الويب وقواعد البيانات) معًا بسهولة. - استخدام التخزين والشبكات:
تحقيق حفظ البيانات الدائم وإدارة الاتصال بين الحاويات. - إدارة الحاويات على نطاق واسع (Kubernetes):
للتشغيل الكبير والتوسعة التلقائية في بيئة سحابية.
كلمة أخيرة
يمكنك استخدام Docker ليس فقط لتطوير البرمجيات، بل أيضًا لإدارة الخوادم ونشر الخدمات والتجارب التعليمية. جرب الخطوات بنفسك وستكتشف سهولة وقوة Docker. إذا واجهت مشكلة، راجع الوثائق الرسمية أو شارك في المجتمعات التقنية.
10. الأسئلة الشائعة (FAQ)
في هذا القسم، نجمع الأسئلة الشائعة حول “تشغيل ubuntu docker” أو محتوى المقال مع إجابات مفيدة للقراء المبتدئين والمحترفين.
Q1. هل يمكن استخدام Docker على Ubuntu Desktop وUbuntu Server؟
ج:
نعم، يمكنك استخدامه على كليهما بنفس الأوامر تقريبًا. عادة يُفضَّل Ubuntu Server للخوادم الفعلية لأنه أخف ولا يحتوي على واجهة رسومية.
Q2. هل أحتاج Docker Desktop على Ubuntu؟
ج:
لا، يكفي تثبيت “Docker Engine” فقط. Docker Desktop أداة إدارة رسومية، لكن على Linux (Ubuntu) تُفضَّل الأوامر الطرفية. إذا أردت واجهة رسومية جرب Docker Desktop.
Q3. ما هو وضع rootless (بدون صلاحيات root)؟
ج:
هو وضع يمكنك من تشغيل Docker بدون صلاحيات root. مفيد لتعزيز الأمان خاصة في بيئات متعددة المستخدمين، لكن به بعض القيود.
Q4. كيف أضيف تخزين دائم (Persistent Storage) للحاوية؟
ج:
استخدم خاصية “Volumes” أو “Bind Mount” لربط مجلد من النظام الأساسي بالحاوية. مثلاً:
docker run -v /host/path:/container/path ubuntu:22.04
بهذا تحفظ البيانات حتى لو حذفت الحاوية.
Q5. كيف أجعل الحاوية أو خدمة Docker تعمل تلقائيًا بعد إعادة التشغيل؟
ج:
يمكنك ضبط تشغيل Docker تلقائيًا بالأمر sudo systemctl enable docker
. لجعل حاوية محددة تعمل تلقائيًا عند تشغيل الخادم، استخدم الخيار --restart=unless-stopped
عند إنشاء الحاوية، مثلاً:
docker run --restart=unless-stopped -d --name myubuntu ubuntu:22.04 tail -f /dev/null
Q6. هل يمكن تشغيل صور (Images) أنظمة أخرى على Ubuntu؟
ج:
نعم، طالما الصورة لنظام Linux وتوافق مع معمارية CPU نفسها. لا تعمل صور Windows أو معمارية مختلفة.
Q7. كيف أنظّف الصور أو الحاويات غير الضرورية؟
ج:
استخدم docker rm
أو docker rmi
للحذف. أيضًا يمكنك استخدام:
- حذف جميع الحاويات المتوقفة
docker container prune
- حذف الصور غير المستخدمة
docker image prune
- تنظيف كل البيانات غير الضرورية
docker system prune
Q8. أين أبحث عن حلول أو دعم عند المشاكل؟
ج:
راجع [الوثائق الرسمية لـ Docker](https://docs.docker.com/) أو المجتمعات التقنية مثل Qiita وStack Overflow. يمكنك أيضًا البحث برسالة الخطأ مباشرة على الإنترنت.
Q9. كيف أتعلم إدارة عدة حاويات (Docker Compose)؟
ج:
Docker Compose أداة ممتازة لإدارة عدة حاويات. يمكنك البدء بقراءة الوثائق الرسمية وتجربة ملفات “docker-compose.yml”.
Q10. هل يدعم Docker أحدث إصدارات Ubuntu (مثل 24.04)؟
ج:
نعم، يدعم Docker رسميًا إصدارات Ubuntu الحديثة خاصة نسخ LTS، ويوفر لها تحديثات مستمرة.