مقدمة Docker في Linux: ما هي الحاويات ولماذا نستخدمها؟

Docker أصبح مهارة أساسية في DevOps والتطوير الحديث. الفكرة الأساسية: شغّل التطبيق بنفس الطريقة على أي خادم بدون مفاجآت.

في هذا الدرس ستفهم Docker من الصفر وتنفّذ أول حاوية عملية.

ما هو Docker ولماذا نستخدمه؟

  • تغليف التطبيق مع اعتمادياته داخل Container
  • توحيد بيئة التشغيل بين جهاز المطور والإنتاج
  • نشر أسرع وأكثر قابلية للتكرار

مفاهيم Docker الأساسية

  • Image: قالب جاهز يحتوي التطبيق وبيئته
  • Container: نسخة قيد التشغيل من Image
  • Registry: مخزن للصور مثل Docker Hub
  • Docker Engine: الخدمة التي تدير الحاويات

Docker vs Virtual Machines

النقطة Docker Container Virtual Machine
الاستهلاك خفيف أعلى
زمن الإقلاع ثوانٍ أبطأ غالبًا
العزل على مستوى العملية نظام تشغيل كامل

تثبيت Docker على Ubuntu (مختصر)

sudo apt update
sudo apt install -y docker.io
sudo systemctl enable docker
sudo systemctl start docker
docker --version

هذا يكفي كبداية تعليمية على Ubuntu/Debian.

تشغيل أول حاوية: hello-world

sudo docker run hello-world

إذا ظهرت رسالة الترحيب، فبيئة Docker تعمل بشكل سليم.

تشغيل حاوية Nginx بسيطة

sudo docker run -d --name web1 -p 8080:80 nginx
sudo docker ps
curl http://localhost:8080
  • -d: تشغيل بالخلفية
  • --name: اسم للحاوية
  • -p 8080:80: ربط منفذ الجهاز بمنفذ الحاوية

أوامر Docker التي تحتاجها يوميًا

docker ps
docker ps -a
docker images
docker logs web1
docker stop web1
docker start web1
docker rm web1

فهم دورة حياة الحاوية

Created -> Running -> Stopped -> Removed

هذه الدورة مهمة لفهم أين تختفي التغييرات ولماذا نستخدم Volumes لاحقا.

تشغيل Docker بدون sudo (اختياري)

sudo usermod -aG docker $USER
newgrp docker
docker ps
ملاحظة أمنية: إضافة المستخدم لمجموعة docker تمنحه صلاحيات قوية على النظام. استخدمها بحذر.

أخطاء شائعة للمبتدئ في Docker

  • نسيان نشر المنفذ بـ -p
  • تشغيل عدة حاويات على نفس المنفذ
  • توقع بقاء البيانات داخل الحاوية بعد حذفها
  • عدم مراجعة logs عند فشل الحاوية

تمرين عملي: تشغيل وإدارة أول حاوية

docker run -d --name test-nginx -p 8081:80 nginx
docker ps
docker logs test-nginx
curl http://localhost:8081
docker stop test-nginx
docker rm test-nginx

إذا وصلت لصفحة Nginx وأدرت دورة التشغيل/الإيقاف/الحذف بنجاح، فقد أتقنت أساس Docker.

FAQ: أسئلة شائعة حول Docker Intro

ما هو Docker في Linux؟

Docker منصة لتشغيل التطبيقات داخل حاويات خفيفة ومعزولة، مما يسهل النشر والتشغيل المتكرر بنفس البيئة.

ما الفرق بين Container وVirtual Machine؟

الحاوية أخف وتشارك نواة النظام، بينما VM تحتوي نظام تشغيل كامل مستقل وتستهلك موارد أكثر.

كيف أشغّل أول حاوية Docker؟

بعد تثبيت Docker يمكنك تشغيل docker run hello-world للتحقق من أن البيئة تعمل بشكل صحيح.

الخطوة التالية

في الدرس القادم سنتعمق في Images وContainers بالتفصيل.

التالي: Docker Images & Containers
المحرر الذكي

اكتب الكود وشاهد النتيجة فوراً

جرب الآن مجاناً
قناة ديف عربي

تابع أحدث الدروس والتحديثات مباشرة على واتساب

انضم الآن