دوكير شيتسيت

بعض معلمات أوامر دوكير الشائعة

Page content

هنا ورقة مساعدة Docker تغطي أبرز الأوامر وال念 من التثبيت إلى تشغيل الحاويات وتنظيفها:

شعار 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 وغيرها. للمزيد من التفاصيل، يرجى الرجوع إلى الدليل والدروس التدريبية المتاحة عبر الإنترنت.

روابط مفيدة