Skip to content

أوامر Docker مشروحة

أوامر Docker المستخدمة يوميًا، مجمّعة حسب المهمة: بناء الصور ونقلها، تشغيل الحاويات وإيقافها، ضبط docker run بالوسائط، قراءة السجلات والإحصاءات، الوصول إلى داخل حاوية، نسخ الملفات والتخاطب مع registries، إدارة volumes والشبكات، تشغيل Compose، واستعادة مساحة القرص.

ينقسم Docker إلى كائنين: الصور (القالب المخصص للقراءة فقط) والحاويات (نسخة قيد التشغيل من صورة). تبني صورة أو تسحبها، ثم تشغّلها كحاوية، وتفحص ما يحدث، ثم تنظّف بعد ذلك. معظم المطورين يستخدمون أيضًا Compose لتعريف تطبيقات متعددة الحاويات. لكل أمر أدناه صيغة قصيرة؛ وتُعرض الصيغة الطويلة حيث تكون أوضح.

جدول مرجعي · 75 مدخلات
75 of 75 rows
البناء
يبني صورة من ملف Dockerfile.docker build -t app:1.0 .
يعيد بناء الصورة من الصفر مع تجاهل الطبقات المخزنة مؤقتًا.docker build --no-cache -t app:1.0 .
يبني حتى مرحلة مسماة فقط في ملف Dockerfile متعدد المراحل.docker build --target deps -t app:deps .
يبني الصور عبر إضافة buildx التي تشغّل BuildKit.docker buildx build -t app:1.0 .
يبني صورة واحدة لعدة معماريات معالج.docker buildx build --platform linux/amd64,linux/arm64 -t app:1.0 --push .
الصور
يسحب صورة من أحد registries.docker pull node:20
يعرض الصور المخزنة محليًا.docker images
ينشئ وسمًا جديدًا يشير إلى الصورة نفسها.docker tag app:1.0 app:latest
يزيل صورة محلية واحدة أو أكثر.docker rmi app:1.0
دورة حياة الحاوية
ينشئ حاوية ويشغّلها من صورة.docker run -p 8080:3000 app
ينشئ حاوية دون تشغيلها.docker create --name web app
يشغّل حاوية كانت متوقفة.docker start web
يوقف حاوية قيد التشغيل بشكل سلس.docker stop web
يوقف حاوية ويشغّلها في خطوة واحدة.docker restart web
يوقف حاوية قسرًا دون انتظار إيقاف سلس.docker kill web
يجمّد كل العمليات داخل حاوية.docker pause web
يستأنف عمليات حاوية موقوفة مؤقتًا.docker unpause web
ينتظر حتى تتوقف الحاوية ثم يطبع رمز الخروج الخاص بها.docker wait web
يعرض الحاويات قيد التشغيل؛ أضف -a لتضمين المتوقفة.docker ps -a
يعطي حاوية قائمة اسمًا جديدًا.docker rename web web-old
يغيّر حدود الموارد أو سياسة إعادة التشغيل لحاوية.docker update --restart=unless-stopped web
يزيل حاوية متوقفة.docker rm web
وسائط run
يشغّل الحاوية في الخلفية ويطبع معرّفها.docker run -d -p 8080:80 app
ينشر منفذ الحاوية على منفذ المضيف.docker run -p 8080:80 app
يوصّل مجلدًا من المضيف أو volume مسمى إلى داخل الحاوية.docker run -v app-data:/data app
يعيّن متغير بيئة داخل الحاوية.docker run -e MODE=prod app
يعطي الحاوية اسمًا ثابتًا لاستخدامه في الأوامر اللاحقة.docker run --name web app
يحذف الحاوية عند انتهائها.docker run --rm app
يشغّل الحاوية على شبكة محددة.docker run --network net app
يخبر Docker متى يعيد تشغيل الحاوية.docker run --restart unless-stopped app
يخصص طرفية ويبقي stdin مفتوحًا لجلسة تفاعلية.docker run -it alpine sh
يستبدل entrypoint الصورة بأمرك الخاص.docker run --entrypoint sh app
يحدّ الذاكرة أو حصة المعالج التي يمكن للحاوية استخدامها.docker run --memory 512m --cpus 0.5 app
الفحص
يقرأ stdout و stderr للحاوية؛ -f يتابع المخرجات الجديدة فور وصولها.docker logs -f web
يعرض الإعدادات والحالة منخفضة المستوى لحاوية أو صورة.docker inspect web
يستخرج حقلًا واحدًا من inspect باستخدام قالب Go.docker inspect --format '{{.State.Status}}' web
يعرض منافذ المضيف التي تنشرها الحاوية.docker port web
يعرض الملفات التي غيّرتها الحاوية مقارنة بصورتها.docker diff web
قياسات حية للمعالج والذاكرة والشبكة للحاويات قيد التشغيل.docker stats
يعرض العمليات التي تعمل داخل حاوية.docker top web
يبث أحداث Docker من البرنامج الخفي لحظة حدوثها.docker events --filter type=container
يعرض مساحة القرص التي تستخدمها الصور والحاويات و volumes وذاكرة التخزين المؤقت.docker system df
يعرض إعدادات Docker وحالته على مستوى النظام.docker info
Exec والتوصيل
ينفّذ أمرًا داخل حاوية قيد التشغيل.docker exec -it web sh
يوصّل طرفيتك بالعملية الرئيسية لحاوية.docker attach web
الملفات و registry
ينسخ الملفات بين حاوية ونظام الملفات المحلي.docker cp web:/app/logs ./logs
يسجّل الدخول إلى registry من سطر الأوامر.docker login
يسجّل الخروج من registry.docker logout
يرفع صورة محلية إلى أحد registries.docker push user/app:1.0
يكتب صورة إلى ملف tar.docker save -o app.tar app:1.0
يقرأ صورة من ملف tar.docker load -i app.tar
يكتب نظام ملفات الحاوية إلى ملف tar.docker export web > web.tar
ينشئ صورة من نظام ملفات tar.docker import web.tar web:snap
يحوّل الحالة الحالية لحاوية إلى صورة جديدة.docker commit web app:snap
Volumes
ينشئ volume مسمى للبيانات الدائمة.docker volume create data
يعرض volumes.docker volume ls
يزيل volume.docker volume rm data
الشبكات
يعرض الشبكات.docker network ls
ينشئ شبكة لتتواصل الحاويات مع بعضها.docker network create net
يوصّل حاوية قيد التشغيل بشبكة.docker network connect net web
Compose
يبني الخدمات في compose.yaml وينشئها (من جديد) ويشغّلها؛ -d يتركها تعمل في الخلفية.docker compose up -d
يشغّل الخدمات ويعيد بناء صورها أولًا.docker compose up --build -d
ينفّذ أمرًا داخل حاوية خدمة قيد التشغيل.docker compose exec api sh
يتابع سجلات خدمة واحدة أو أكثر.docker compose logs -f api
يعرض حاويات الخدمات التي يديرها Compose.docker compose ps
يوقف حاويات الخدمات دون إزالتها.docker compose stop
يعيد تشغيل حاويات الخدمات.docker compose restart api
يوقف الحاويات والشبكات ويزيلها؛ -v يزيل أيضًا volumes المسماة.docker compose down
يعرض تهيئة Compose النهائية بعد الدمج واستبدال المتغيرات.docker compose config
التنظيف
يزيل الحاويات المتوقفة والصور المعلّقة والشبكات غير المستخدمة؛ -a --volumes يزيل أيضًا الصور و volumes غير المستخدمة.docker system prune -af
يزيل كل الحاويات المتوقفة.docker container prune
يزيل الصور غير المستخدمة أو المعلّقة.docker image prune -a
يزيل volumes لا تستخدمها أي حاوية.docker volume prune
يزيل الشبكات التي لا تستخدمها أي حاوية.docker network prune
يزيل طبقات البناء المخزنة مؤقتًا.docker builder prune