Skip to content

ورقة غش أوامر Docker

Docker هو محرك حاويات تطبيقات مفتوح المصدر يسمح للمطورين بتغليف تطبيقاتهم وتوابعهم في صورة محمولة، والتي يمكن بعد ذلك إصدارها لأي جهاز Linux أو Windows مشهور، ويمكن أيضًا تحقيق المحاكاة الافتراضية. تستخدم الحاويات آلية صندوق الرمل (sandbox) بالكامل ولا توجد أي واجهات بين بعضها البعض.

الاستخدام العام

بدء حاوية في الخلفية

docker run -d jenkins

بدء حاوية تفاعلية

docker run -it ubuntu bash

بدء حاوية يتم حذفها تلقائيًا عند توقفها

docker run --rm ubuntu bash 

بدء حاوية مع ربط المنافذ (mapping ports)

docker run -p 80:80 -d nginx 

بدء حاوية مسماة

docker run --name mydb redis 

بدء حاوية متوقفة

docker start mydb 

إيقاف حاوية

docker stop mydb

بدء حاوية وإضافة بيانات وصفية (metadata)

docker run -d \ label=traefik.backend=jenkins jenkins

بناء الصور (Build Images)

بناء صورة من ملف Dockerfile في الدليل الحالي

docker build --tag myimage . 

فرض إعادة بناء الصورة

docker build --no-cache . 

تحويل الحاوية إلى صورة (Commit)

docker commit c7337 myimage 

حذف جميع الصور غير المستخدمة

docker rmi $(docker images -q -f "dangling=true")

تصحيح الأخطاء (Debug)

تسجيل الدخول إلى حاوية قيد التشغيل

docker exec -it c7337 docker

عرض سجلات النشاط لحاوية خفية (daemon) قيد التشغيل

docker logs -f c7337

عرض المنافذ المكشوفة للحاوية

docker port c7337

التخزين (Volumes)

إنشاء وحدة تخزين محلية

docker volume create --name myvol 

تثبيت وحدة تخزين عند بدء تشغيل الحاوية

docker run -v myvol:/data redis

تدمير وحدة تخزين

docker volume rm myvol 

سرد جميع وحدات التخزين

docker volume ls

إنشاء شبكة محلية

docker network create mynet 

توصيل الحاوية بالشبكة عند بدء التشغيل

docker run -d --net mynet redis

توصيل الحاوية بشبكة محددة

docker network connect mynet c7337 

فصل حاوية عن الشبكة

docker network disconnect mynet c7337

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

سرد الحاويات قيد التشغيل

docker ps

سرد جميع الحاويات (بما في ذلك قيد التشغيل والمتوقفة)

docker ps -a

فحص البيانات الوصفية للحاوية

docker inspect c7337

سرد جميع الصور المتاحة محليًا

docker images

حذف جميع الحاويات المتوقفة

docker rm $(docker ps --filter status=exited -q) 

سرد جميع الحاويات التي تحمل علامة (label) محددة

docker ps --filter label=traefik.backend

الاستعلام عن حاوية قيد التشغيل ببيانات وصفية محددة

docker inspect -f '{{ .NetworkSettings.IPAddress }}' c7337

الوصف

اسم الصورة

redis, jenkins, nginx

اسم الحاوية أو معرف التزام (Commit ID)

mydb  # اسم الحاوية 
c7337 # معرف التزام