دوكير شيتسيت
بعض معلمات أوامر دوكير الشائعة
Page content
هنا ورقة مساعدة Docker تغطي أبرز الأوامر وال念 من التثبيت إلى تشغيل الحاويات وتنظيفها:
التثبيت
على Ubuntu
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt update
sudo apt install docker-ce
sudo systemctl start docker
تثبيت Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version
``").
## الأوامر العامة لـ Docker
### الإصدار والمعلومات النظامية
```bash
docker version # يعرض إصدار واجهة سطر الأوامر ومحرك Docker
docker system info # يعرض معلومات عن بيئة Docker
docker help # عرض فهرس المساعدة
docker <command> --help # عرض معلومات المساعدة الخاصة بأمر معين
تسجيل الدخول والخروج
docker login # تسجيل الدخول إلى Docker Hub
docker logout # الخروج من Docker Hub
إدارة الصور
قائمة بالصور
docker images # قائمة بكل الصور
docker images -a # قائمة بكل الصور، بما في ذلك الصور الوسيطة
سحب الصور
docker pull <image-name:version> # تنزيل صورة من Docker Hub
بناء الصور
docker build -t <image-name> . # بناء صورة من ملف Dockerfile الحالي
docker build -f <Dockerfile-path> -t <image-name> . # بناء صورة من ملف Dockerfile معين
docker build --build-arg foo=bar . # بناء صورة مع معلمات البناء
docker build --pull . # سحب إصدارات محدثة من الصور المرجعية في تعليمات FROM
docker build --quiet . # بناء صورة دون إصدار أي إخراج
تسمية ودفع الصور
docker tag <local-image-name> <username>/<preferred-image-name>
docker push <username>/<preferred-image-name>
حذف الصور
docker rmi <image-name> # حذف صورة معينة
docker image prune # حذف الصور غير المستخدمة
docker image prune -a # حذف كل الصور غير المستخدمة
حذف الصور المعلقة
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
إزالة تسمية الصورة
docker rmi repository/image-name:tag
إدارة الحاويات
تشغيل الحاويات
docker run -itd --name <container-name> <image-name> # تشغيل حاوية في وضع منفصل
docker run -it -p <host-port>:<docker-port> <image-name> # تشغيل حاوية مع خريطة المنافذ
docker run -it --name <container-name> <image-name> # تشغيل حاوية تفاعليًا
قائمة بالحاويات
docker ps # قائمة بالحاويات المشغالة
docker ps -a # قائمة بكل الحاويات
docker ps -s # قائمة بالحاويات المشغالة مع استخدام المعالج والذاكرة
بدء وإيقاف وإعادة تشغيل الحاويات
docker start <container-name> # بدء حاوية متوقفة
docker stop <container-name> # إيقاف حاوية مشغالة
docker restart <container-name> # إعادة تشغيل حاوية
حذف الحاويات
docker rm <container-name> # حذف حاوية متوقفة
docker rm -f <container-name> # حذف حاوية بشكل قسري
docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q) # حذف كل الحاويات
حذف كل الحاويات المتوقفة
docker container prune
الاتصال بالحاويات
docker attach <container-name> # الاتصال بحاوية مشغالة
docker exec -it <container-name> bash # تشغيل أمر في حاوية مشغالة تفاعليًا
فحص الحاويات
docker inspect <container-name> # فحص حاوية
docker logs <container-name> # عرض سجلات حاوية
docker port <container-name> # عرض خريطة المنافذ للحاوية
إدارة الشبكات
docker network ls # قائمة بكل الشبكات
docker network create <network-name> # إنشاء شبكة جديدة
docker network rm <network-name> # حذف شبكة
إدارة الحolumes
docker volume ls # قائمة بكل الحolumes
docker volume create <volume-name> # إنشاء حجم جديد
docker volume rm <volume-name> # حذف حجم
docker run -v <host-path>:<container-path> <image-name> # تثبيت حجم
Docker Compose
الأوامر الأساسية
docker-compose up # بدء الخدمات المعرفة في ملف docker-compose.yml
docker-compose up -d # بدء الخدمات في وضع منفصل
docker-compose down # إيقاف وإزالة الخدمات
docker-compose ps # قائمة بالخدمات المشغالة
docker-compose logs # عرض سجلات الخدمات
docker-compose start # بدء الخدمات
docker-compose stop # إيقاف الخدمات
docker-compose pause # إيقاف مؤقت للخدمات
docker-compose unpause # استئناف الخدمات
أوامر Dockerfile
بناء صورة من Dockerfile
docker build -t <image-name> <Dockerfile-path> # بناء صورة من Dockerfile
مثال على Dockerfile
FROM <base-image>
RUN <command>
COPY <source> <destination>
EXPOSE <port>
CMD ["<command>", "<argument>"]
الأمان والسرار
سرار Docker
docker secret create <secret-name> <file> # إنشاء سر
docker secret ls # قائمة بكل السرار
docker secret rm <secret-name> # حذف سر
أمان Docker
- استخدم سرار Docker لإدارة البيانات الحساسة مركزًا ونقلها بأمان إلى الحاويات.
- يتم تشفير السرار أثناء النقل وتخزينها في تجميع Docker.
التنظيف
حذف الموارد غير المستخدمة
docker system prune # حذف البيانات غير المستخدمة (الصور، الحاويات، الشبكات، الحolumes)
docker image prune # حذف الصور غير المستخدمة
docker container prune # حذف الحاويات غير المستخدمة
docker network prune # حذف الشبكات غير المستخدمة
docker volume prune # حذف الحolumes غير المستخدمة
حذف الصور غير المسمى
أحيانًا بعد تجميع جيد كبير، هناك صورة مثل هذه من أوامر docker images
:
للحذف هذه الصور ذات العلامات
docker rmi $(docker images --filter “dangling=true” -q --no-trunc)
الذي أعلاه قديم وغير متوافق. معلمة dangling=true قديمة. استخدم
docker system prune
وهو سيطلب:
تحذير! هذا سيحذف:
- كل الحاويات المتوقفة
- كل الحolumes غير المستخدمة من قبل حاوية واحدة على الأقل
- كل الشبكات غير المستخدمة من قبل حاوية واحدة على الأقل
- كل الصور المعلقة
قد تقرر أن تقول نعم لهذا التحذير…
هذه ورقة المساعدة تغطي الأوامر الأساسية وال念 اللازمة لإدارة الحاويات، الصور، الشبكات، الحolumes وغيرها. للمزيد من التفاصيل، يرجى الرجوع إلى الدليل والدروس التدريبية المتاحة عبر الإنترنت.
روابط مفيدة
- ورقة مساعدة Python
- ورقة مساعدة Conda
- ورقة مساعدة Bash
- ورقة مساعدة Ollama
- ورقة مساعدة Kubernetes
- تشفير وفك تشفير Base64 على Windows، Linux وMac
- تثبيت Portainer على Linux
- إعادة تثبيت Linux
- كيفية بدء نوافذ الطرفية المُوزَّعة على Linux Mint وUbuntu
- Minio كخيار بديل لـ AWS S3. مقدمة وتركيب Minio
- ورقة مساعدة معلمات سطر الأوامر لـ MinIO