تخطَّ إلى المحتوى

أوامر Docker

أوامر وسير عمل شاملة لـ Docker للتحويل إلى حاويات عبر جميع المنصات.

الأوامر الأساسية

أمروصف
docker --versionأظهر إصدار Docker
docker infoعرض معلومات على مستوى النظام
docker helpاعرض المساعدة لأوامر Docker
docker imagesقائمة جميع الصور
docker psقائمة الحاويات قيد التشغيل
docker ps -aقائمة جميع الحاويات (قيد التشغيل والمتوقفة)
docker pull <image>اسحب صورة من السجل
docker run <image>تشغيل حاوية من صورة
docker stop <container>إيقاف حاوية قيد التشغيل
docker start <container>ابدأ حاوية متوقفة
docker restart <container>إعادة تشغيل حاوية
docker rm <container>إزالة حاوية
docker rmi <image>إزالة صورة

إدارة الحاويات

أمروصف
docker run -d <image>تشغيل الحاوية في الوضع المنفصل
docker run -it <image>قم بتشغيل الحاوية بشكل تفاعلي
docker run -p 8080:80 <image>قم بتعيين المنفذ 8080 إلى منفذ الحاوية 80
docker run -v /host:/container <image>قم بتحميل المجلد
docker run --name <name> <image>قم بتشغيل الحاوية باسم مخصص
docker exec -it <container> bashنفذ bash في الحاوية قيد التشغيل
docker logs <container>عرض سجلات الحاوية
docker logs -f <container>تتبع سجلات الحاويات
docker inspect <container>تفحص تفاصيل الحاوية
docker statsإظهار استخدام موارد الحاوية
docker top <container>عرض العمليات الجارية في الحاوية

إدارة الصور

أمروصف
docker build -t <name> .قم ببناء الصورة من Dockerfile
docker build -t <name>:<tag> .قم ببناء الصورة بالعلامة
docker tag <image> <new-name>ضع علامة على صورة
docker push <image>دفع الصورة إلى السجل
docker save <image> > file.tarاحفظ الصورة في ملف tar
docker load < file.tarتحميل صورة من ملف tar
docker history <image>عرض سجل الصور
docker search <term>ابحث عن الصور في السجل

Docker Compose

أمروصف
docker-compose upابدأ الخدمات المحددة في ملف compose
docker-compose up -dابدأ الخدمات في الوضع المنفصل
docker-compose downإيقاف وإزالة الحاويات
docker-compose buildإنشاء أو إعادة بناء الخدمات
docker-compose logsعرض السجلات لجميع الخدمات
docker-compose psقائمة الحاويات
docker-compose exec <service> bashنفذ الأمر في الخدمة
docker-compose pullاسحب أحدث الصور
docker-compose restartإعادة تشغيل الخدمات

إدارة الشبكات

أمروصف
docker network lsقائمة الشبكات
docker network create <name>أنشئ شبكة
docker network rm <name>إزالة شبكة
docker network inspect <name>تفحص تفاصيل الشبكة
docker run --network <name> <image>تشغيل الحاوية على شبكة محددة

إدارة المجلدات

أمروصف
docker volume lsقائمة الأحجام
docker volume create <name>أنشئ حجمًا
docker volume rm <name>إزالة حجم
docker volume inspect <name>تفحص تفاصيل الحجم
docker volume pruneاحذف المجلدات غير المستخدمة

سير العمل الشائع

سير عمل التطوير

# Build and run application
docker build -t myapp .
docker run -p 3000:3000 myapp

# Development with volume mounting
docker run -p 3000:3000 -v $(pwd):/app myapp

# Using Docker Compose for development
docker-compose up --build

النشر الإنتاجي

# Build production image
docker build -t myapp:prod .

# Tag for registry
docker tag myapp:prod registry.com/myapp:latest

# Push to registry
docker push registry.com/myapp:latest

# Deploy on production server
docker pull registry.com/myapp:latest
docker run -d -p 80:3000 --name myapp-prod registry.com/myapp:latest

تصحيح الحاويات

# Check container logs
docker logs -f container-name

# Execute shell in running container
docker exec -it container-name bash

# Inspect container configuration
docker inspect container-name

# Check resource usage
docker stats container-name

أفضل الممارسات

تحسين Dockerfile

  • استخدم البناء متعدد المراحل لتقليل حجم الصورة
  • استفد من ذاكرة التخزين المؤقت للبناء بترتيب التعليمات بشكل صحيح
  • استخدم علامات الصورة الأساسية المحددة، وتجنبlatest
  • قلل عدد الطبقات
  • استخدم.dockerignoreلاستبعاد الملفات غير الضرورية

الأمان

  • قم بتشغيل الحاويات كمستخدم غير جذري
  • استخدم الصور الأساسية الرسمية عند الإمكان
  • قم بتحديث الصور الأساسية بانتظام
  • افحص الصور بحثًا عن نقاط الضعف
  • حدد موارد الحاويات (وحدة المعالجة المركزية، الذاكرة)

الأداء

  • استخدم الصور الأساسية المناسبة (alpine للحجم الأصغر)
  • حسّن تخزين الطبقات مؤقتًا
  • استخدم فحوصات الصحة للحاويات
  • راقب استخدام موارد الحاويات
  • استخدم المجلدات للبيانات الدائمة

النشر الإنتاجي

  • استخدم أدوات الأوركسترا (Docker Swarm، Kubernetes)
  • نفذ التسجيل والمراقبة بشكل صحيح
  • استخدم إدارة الأسرار للبيانات الحساسة
  • قم بإعداد نسخ احتياطية تلقائية
  • نفذ التحديثات المتدحرجة

Note: Some parts of the translation are left blank (3-13) as they seem to be placeholders or incomplete in the original text. I’ve maintained the structure and formatting as requested.