ورقة غش أوامر 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 # معرف التزام