أوامر دوكر الأساسية للمبتدئين ومعلومات

أوامر دوكر للمبتدئين صور حاويات شبكات مجلدات Docker Compose

لقد ثورت Docker على الطريقة التي يبني بها المطورون ويشحنون ويشغلون التطبيقات. توفر بيئة متسقة ومعزولة لتشغيل التطبيقات، مما يجعل من الأسهل تطوير التطبيقات واختبارها ونشرها عبر بيئات مختلفة. ومع ذلك، بالنسبة للمبتدئين، قد تبدو Docker مخيفة مع أوامرها ومصطلحاتها الخاصة. في هذا الدليل الشامل، سنأخذك عبر أوامر Docker الأساسية التي يجب على كل مبتدئ معرفتها، مع إرشادات خطوة بخطوة وأمثلة.

مقدمة عن Docker

قبل أن نغوص في الأوامر، لنفهم بإيجاز ما هي Docker وبعض المفاهيم الرئيسية.

Docker هي منصة مفتوحة المصدر تمكن المطورين من بناء وتطوير وتشغيل التطبيقات داخل الحاويات. الحاويات هي حزم خفيفة الوزن ومستقلة وقابلة للتشغيل تحتوي على كل ما هو ضروري لتشغيل تطبيق، بما في ذلك الكود وبيئة التشغيل وأدوات النظام والمكتبات والإعدادات.

هذه بعض مفاهيم Docker الرئيسية:

  • صورة Docker: قالب للقراءة فقط يحتوي على تعليمات لإنشاء حاوية Docker. انها بمثابة مخطط لتطبيقك.
  • حاوية Docker: نسخة قابلة للتشغيل من صورة Docker. إنها بيئة معزولة وآمنة حيث يتم تشغيل تطبيقك.
  • Docker Hub: خدمة سجل قائمة على السحابة حيث يمكنك العثور على صور Docker الموجودة أو دفع صورك الخاصة.
  • Dockerfile: ملف نصي يحتوي على تعليمات لبناء صورة Docker.

الآن، لننغمس في أوامر Docker الأساسية.

تثبيت Docker

قبل أن تتمكن من البدء في استخدام أوامر Docker، ستحتاج إلى تثبيت Docker على جهازك. تختلف عملية التثبيت بناءً على نظام التشغيل الخاص بك. يمكنك العثور على تعليمات التثبيت الخاصة بنظام التشغيل على موقع Docker الرسمي: https://docs.docker.com/get-docker/

بمجرد تثبيت Docker، يمكنك التحقق من التثبيت عن طريق تشغيل الأمر التالي في طرفية الأوامر الخاصة بك:

$ docker --version

يجب أن يعرض هذا الأمر إصدار Docker المثبت على جهازك.

أوامر Docker الأساسية

1. صور Docker

صور Docker هي لبنات بناء الحاويات. هذه بعض الأوامر الأساسية للعمل مع صور Docker:

قائمة صور Docker

لعرض كل صور Docker على جهازك، نفذ:

$ docker images

ستعرض هذه الأوامر قائمة بجميع صور Docker على جهازك، جنبًا إلى جنب مع مستودعها وعلاماتها ومعرف الصورة وتاريخ إنشائها وحجمها.

اسحب صورة Docker

لتنزيل (سحب) صورة Docker من سجل (مثل Docker Hub)، نفذ:

$ docker pull [اسم_الصورة]:[العلامة]

استبدل [اسم_الصورة] باسم الصورة التي تريد سحبها، و [العلامة] بالإصدار أو العلامة المحددة للصورة (مثل latest، 16.04، وما إلى ذلك). إذا لم تحدد علامة، فسيقوم Docker تلقائيًا بسحب علامة latest.

على سبيل المثال، لسحب أحدث إصدار من صورة nginx، نفذ:

$ docker pull nginx

إزالة صورة Docker

لإزالة صورة Docker من جهازك، نفذ:

$ docker rmi [معرف_الصورة]

استبدل [معرف_الصورة] بمعرف الصورة التي تريد إزالتها. يمكنك العثور على معرف الصورة عن طريق تشغيل docker images.

إذا كانت الصورة لديها علامات متعددة، فستحتاج إلى إزالة جميع العلامات المرتبطة قبل إزالة الصورة. يمكنك القيام بذلك عن طريق تشغيل:

$ docker rmi [معرف_الصورة] [معرف_الصورة] ...

استبدل [معرف_الصورة] بمعرفات جميع العلامات التي تريد إزالتها.

أو بدلاً من ذلك، يمكنك استخدام خيار --force لإزالة صورة حتى لو كانت قيد الاستخدام من قبل حاوية قيد التشغيل:

$ docker rmi --force [معرف_الصورة]

2. حاويات Docker

حاويات Docker هي نسخ قابلة للتشغيل من صور Docker. هذه بعض الأوامر الأساسية للعمل مع حاويات Docker:

قائمة حاويات Docker

لعرض جميع حاويات Docker قيد التشغيل على جهازك، نفذ:

$ docker ps

إذا كنت تريد عرض جميع الحاويات (قيد التشغيل والمتوقفة)، استخدم الخيار -a:

$ docker ps -a

ستعرض هذه الأوامر مختلف المعلومات حول الحاويات، مثل معرفاتها وأسمائها وصورها وأوقات إنشائها وحالاتها.

تشغيل حاوية Docker

لتشغيل حاوية Docker من صورة، استخدم أمر run:

$ docker run [خيارات] [اسم_الصورة]:[العلامة] [أمر]

استبدل [خيارات] بأي خيارات إضافية تريد تمريرها للحاوية (مثل -d للتشغيل في الوضع المنفصل، -p لتخصيص المنفذ، -v لضم المجلدات، وما إلى ذلك)، [اسم_الصورة] باسم الصورة التي تريد تشغيلها، [العلامة] بالعلامة المحددة للصورة (إذا رغبت في ذلك)، و [أمر] بالأمر الذي تريد تشغيله داخل الحاوية (إذا لزم الأمر).

على سبيل المثال، لتشغيل صورة nginx وتخصيص منفذ 80 من الحاوية إلى منفذك المحلي 8080، نفذ:

$ docker run -d -p 8080:80 nginx

سيقوم هذا الأمر بتشغيل حاوية nginx في الوضع المنفصل (-d) وتخصيص المنفذ 80 من الحاوية إلى المنفذ 8080 على جهازك المحلي.

بدء / إيقاف حاوية Docker

لبدء حاوية Docker متوقفة، نفذ:

$ docker start [معرف_الحاوية]

استبدل [معرف_الحاوية] بمعرف أو اسم الحاوية التي تريد بدء تشغيلها.

لإيقاف حاوية Docker قيد التشغيل، نفذ:

$ docker stop [معرف_الحاوية]

استبدل [معرف_الحاوية] بمعرف أو اسم الحاوية التي تريد إيقافها.

إزالة حاوية Docker

لإزالة حاوية Docker متوقفة، نفذ:

$ docker rm [معرف_الحاوية]

استبدل [معرف_الحاوية] بمعرف أو اسم الحاوية التي تريد إزالتها.

إذا كانت الحاوية قيد التشغيل، فستحتاج إلى إيقافها أولاً قبل إزالتها. أو بدلاً من ذلك، يمكنك استخدام خيار --force لإزالة حاوية قيد التشغيل:

$ docker rm --force [معرف_الحاوية]

تنفيذ أوامر في حاوية قيد التشغيل

لتنفيذ أمر داخل حاوية Docker قيد التشغيل، استخدم أمر exec:

$ docker exec [خيارات] [معرف_الحاوية] [أمر]

استبدل [خيارات] بأي خيارات إضافية تريد تمريرها (مثل -it للوضع التفاعلي)، [معرف_الحاوية] بمعرف أو اسم الحاوية قيد التشغيل، و [أمر] بالأمر الذي تريد تنفيذه داخل الحاوية.

على سبيل المثال، لفتح عرض أوامر bash داخل حاوية قيد التشغيل، نفذ:

$ docker exec -it [معرف_الحاوية] /bin/bash

3. شبكات Docker

يمكن لحاويات Docker التواصل مع بعضها البعض ومع جهاز الاستضافة باستخدام شبكات Docker. هذه بعض الأوامر الأساسية للعمل مع شبكات Docker:

قائمة شبكات Docker

لعرض جميع شبكات Docker على جهازك، نفذ:

$ docker network ls

ستعرض هذه الأوامر قائمة بجميع شبكات Docker، جنبًا إلى جنب مع أسمائها ومشغلاتها ونطاقاتها.

إنشاء شبكة Docker

لإنشاء شبكة Docker جديدة، نفذ:

$ docker network create [خيارات] [اسم_الشبكة]

استبدل [خيارات] بأي خيارات إضافية تريد تمريرها (مثل --driver لتحديد مشغل الشبكة)، و [اسم_الشبكة] بالاسم الذي تريد إعطاءه للشبكة الجديدة.

على سبيل المثال، لإنشاء شبكة جسرية جديدة باسم my-network، نفذ:

$ docker network create my-network

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

لتوصيل حاوية قيد التشغيل بشبكة Docker، نفذ:

$ docker network connect [اسم_الشبكة] [معرف_الحاوية]

استبدل [اسم_الشبكة] باسم الشبكة التي تريد توصيل الحاوية بها، و [معرف_الحاوية] بمعرف أو اسم الحاوية قيد التشغيل.

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

لفصل حاوية عن شبكة Docker، نفذ:

$ docker network disconnect [اسم_الشبكة] [معرف_الحاوية]

استبدل [اسم_الشبكة] باسم الشبكة التي تريد فصل الحاوية عنها، و [معرف_الحاوية] بمعرف أو اسم الحاوية قيد التشغيل.

4. مجلدات Docker

تستخدم مجلدات Docker لاستمرارية البيانات ومشاركة البيانات بين جهاز الاستضافة والحاويات، أو بين حاويات متعددة. هذه بعض الأوامر الأساسية للعمل مع مجلدات Docker:

قائمة مجلدات Docker

لعرض جميع مجلدات Docker على جهازك، نفذ:

$ docker volume ls

ستعرض هذه الأوامر قائمة بجميع مجلدات Docker، جنبًا إلى جنب مع أسمائها ومشغلاتها.

إنشاء مجلد Docker

لإنشاء مجلد Docker جديد، نفذ:

$ docker volume create [اسم_المجلد]

استبدل [اسم_المجلد] بالاسم الذي تريد إعطاءه للمجلد الجديد.

ضم مجلد إلى حاوية

لضم مجلد إلى حاوية Docker، استخدم الخيار -v أو --volume عند تشغيل الحاوية:

$ docker run -v [اسم_المجلد]:[مسار_الحاوية] [اسم_الصورة]

استبدل [اسم_المجلد] باسم أو مسار المجلد الذي تريد ضمه، [مسار_الحاوية] بالمسار داخل الحاوية حيث تريد ضم المجلد، و [اسم_الصورة] باسم الصورة التي تريد تشغيلها.

على سبيل المثال، لضم مجلد يسمى app-data إلى المجلد /app/data داخل حاوية تشغل الصورة my-app، نفذ:

$ docker run -v app-data:/app/data my-app

إزالة مجلد Docker

لإزالة مجلد Docker، نفذ:

$ docker volume rm [اسم_المجلد]

استبدل [اسم_المجلد] باسم المجلد الذي تريد إزالته.

إذا كان المجلد قيد الاستخدام حاليًا من قبل حاوية قيد التشغيل، فستحتاج إلى إيقاف الحاوية وإزالتها أولاً قبل إزالة المجلد.

5. Docker Compose

Docker Compose هو أداة لتعريف وتشغيل تطبيقات Docker متعددة الحاويات. يستخدم ملف YAML لتحديد الخدمات والشبكات والمجلدات اللازمة لتطبيقك. هذه بعض الأوامر الأساسية للعمل مع Docker Compose:

بدء تشغيل تطبيق Docker Compose

لبدء تشغيل تطبيق Docker Compose، انتقل إلى الدليل الذي يحتوي على ملف docker-compose.yml ونفذ:

$ docker-compose up

ستبدأ هذه الأوامر جميع الخدمات المحددة في ملف docker-compose.yml. إذا كنت تريد تشغيل الحاويات في الخلفية، استخدم الخيار -d:

$ docker-compose up -d

إيقاف تطبيق Docker Compose

لإيقاف تطبيق Docker Compose قيد التشغيل، نفذ:

$ docker-compose down

ستقوم هذه الأوامر بإيقاف وإزالة جميع الحاويات والشبكات والمجلدات المرتبطة بالتطبيق.

قائمة حاويات Docker Compose

لعرض جميع الحاويات المرتبطة بتطبيق Docker Compose، نفذ:

$ docker-compose ps

ستعرض هذه الأوامر قائمة بجميع الحاويات، جنبًا إلى جنب مع أسمائها وأوامرها وحالاتها.

إعادة بناء حاويات Docker Compose

إذا قمت بإجراء تغييرات على كود التطبيق الخاص بك أو إعداداته، فستحتاج إلى إعادة بناء الحاويات. لفعل ذلك، نفذ:

$ docker-compose up --build

ستقوم هذه الأوامر بإعادة بناء الحاويات بناءً على ملف Dockerfile والملف docker-compose.yml المحدثين.

6. Docker Hub والسجلات الخاصة

Docker Hub هي خدمة سجل قائمة على السحابة حيث يمكنك العثور على صور Docker ومشاركتها. يمكنك أيضًا استضافة سجل خاص بك لتخزين وتوزيع صورك المخصصة. هذه بعض الأوامر الأساسية للعمل مع Docker Hub والسجلات الخاصة:

تسجيل الدخول إلى Docker Hub

للدخول إلى حساب Docker Hub الخاص بك، نفذ:

$ docker login

ستطالبك هذه الأوامر بإدخال اسم مستخدم Docker Hub وكلمة المرور الخاصة بك.

دفع صورة إلى Docker Hub

لدفع صورة Docker إلى مستودع Docker Hub الخاص بك، ستحتاج أولاً إلى وضع علامة على الصورة باسم مستخدم Docker Hub:

$ docker tag [معرف_الصورة] [اسم_المستخدم]/[اسم_الصورة]:[العلامة]

استبدل [معرف_الصورة] بمعرف الصورة التي تريد دفعها، [اسم_المستخدم] باسم مستخدمك على Docker Hub، [اسم_الصورة] بالاسم الذي تريد إعطاءه للصورة، و [العلامة] بالعلامة المرغوبة (مثل latest، v1.0، وما إلى ذلك).

بمجرد وضع علامة على الصورة، يمكنك دفعها إلى Docker Hub:

$ docker push [اسم_المستخدم]/[اسم_الصورة]:[العلامة]

سحب صورة من Docker Hub

لسحب صورة من Docker Hub، نفذ:

$ docker pull [اسم_المستخدم]/[اسم_الصورة]:[العلامة]

استبدل [اسم_المستخدم] باسم مستخدم Docker Hub لمالك الصورة، [اسم_الصورة] باسم الصورة، و [العلامة] بالعلامة المرغوبة.

تسجيل الدخول إلى سجل خاص

للدخول إلى سجل Docker خاص، نفذ:

$ docker login [رابط_السجل]

استبدل [رابط_السجل] برابط السجل الخاص بك. ستطالبك هذه الأوامر بإدخال بيانات اعتماد السجل (اسم المستخدم وكلمة المرور).

دفع صورة إلى سجل خاص

لدفع صورة Docker إلى سجل خاص، ستحتاج أولاً إلى وضع علامة على الصورة برابط السجل:

$ docker tag [معرف_الصورة] [رابط_السجل]/[اسم_الصورة]:[العلامة]

استبدل [معرف_الصورة] بمعرف الصورة التي تريد دفعها، [رابط_السجل] برابط سجلك الخاص، [اسم_الصورة] بالاسم الذي تريد إعطاءه للصورة، و [العلامة] بالعلامة المرغوبة.

بمجرد وضع علامة على الصورة، يمكنك دفعها إلى السجل الخاص:

$ docker push [رابط_السجل]/[اسم_الصورة]:[العلامة]

سحب صورة من سجل خاص

لسحب صورة من سجل خاص، نفذ:

$ docker pull [رابط_السجل]/[اسم_الصورة]:[العلامة]

استبدل [رابط_السجل] برابط سجلك الخاص، [اسم_الصورة] باسم الصورة، و [العلامة] بالعلامة المرغوبة.

خاتمة

في هذا الدليل الشامل، غطينا أوامر Docker الأساسية التي يجب على كل مبتدئ معرفتها. من العمل مع صور وحاويات Docker إلى إدارة الشبكات والمجلدات والسجلات، لديك الآن المعرفة الأساسية للبدء في استخدام Docker بكفاءة.

تذكر، أن Docker أداة قوية، وهناك المزيد من الأوامر والميزات المتقدمة لاستكشافها مع اكتسابك المزيد من الخبرة. مارس وجرب، ولا تتردد في العودة إلى هذا الدليل كلما احتجت إلى مراجعة.

LEAVE A COMMENT