أساسيات Docker
كما هو معروف، إحدى أكثر الأشياء إزعاجًا في تطوير البرمجيات هي إعداد البيئة. اختلاف بيئة التشغيل يمكن أن يؤدي إلى نتائج غير متوقعة، واستخدام Docker يمكن أن يتجنب هذه المشكلة.
Docker وتقنية الحاويات
يعبئ Docker البرمجيات والبيئة التي تحتاجها لتشغيلها، بحيث لا يلزمك تكوين البيئة مرة أخرى عند استخدامها (لأن البيئة متضمنة). هذا يضمن تطابق بيئتك مع بيئة المطور، ويمنع المشاكل الناجمة عن اختلاف بيئة التشغيل.
Docker يستخدم تقنية الحاويات. عندما نتحدث عن تقنية الحاويات، يمكننا أن نقارنها بـ حاوية الشحن. إنها حاوية كبيرة موحدة يمكن تحميلها وتفريغها بسهولة بين وسائل النقل المختلفة مثل السفن والقطارات والشاحنات دون الحاجة إلى النظر في محتواها الداخلي بالتفصيل. بشكل مماثل، تقوم تقنية الحاويات بتعبئة التطبيق وجميع تبعياته في بيئة مستقلة وقابلة للنقل تسمى حاوية.
الهدف الرئيسي لتقنية الحاويات هو تحقيق نشر سريع للتطبيقات، والقابلية للتوسيع، وعزل البيئة. من خلال تعبئة التطبيق والتبعيات المتعلقة به في حاوية واحدة، يمكننا ضمان تشغيل التطبيق بنفس الطريقة على أجهزة الكمبيوتر أو الخوادم المختلفة دون الحاجة إلى القلق بشأن اختلافات البيئة أو تعارض التبعيات. وهذا يجعل من الممكن للمطورين تقديم التطبيقات بسرعة ويسهل أيضًا عملية نشر وإدارة التطبيقات.
ميزة كبيرة لتقنية الحاويات هي أنها تقدم حلاً لتقديم الافتراضات الخفيفة. بالمقارنة مع الآلات الافتراضية التقليدية، تقنية الحاويات خفيفة وتستهلك موارد أقل. كل حاوية تعمل على نفس نواة نظام التشغيل المضيف وتشترك في موارد النظام نفسه، مما يجعل بدء التشغيل أسرع واستهلاك الذاكرة أقل، ويمكن تشغيل العديد من الحاويات على نفس الجهاز في نفس الوقت.
Docker هو حلاً شائعًا لتقنية الحاويات حاليًا. يتضمن بشكل أساسي ثلاثة مكونات: الصورة (Image)، الحاوية (Container)، والمستودع (Repository).
- الصورة (Image): الصورة هي ملف قابل للتنفيذ تحتوي على جميع الملفات النظامية المطلوبة لتشغيل التطبيق بالإضافة إلى التكوين. يمكن اعتبار الصورة كنموذج للحاوية، ويمكن من خلالها إنشاء عدة حاويات مختلفة.
- الحاوية (Container): الحاوية هي نسخة تعمل من الصورة. تعتبر كل حاوية بيئة معزولة تعمل بشكل مستقل حيث يمكن تشغيل التطبيق.
- المستودع (Repository): المستودع هو مكان لتخزين ومشاركة الصور. يمكن تحميل الصور التي تم إنشاؤها إلى المستودع، ويمكن سحب صور من المستودع الخاص بالآخرين.
العلاقة بين الحاويات والصور تشبه العلاقة بين الكائنات والصفوف في برمجة الكائنات
بعد تثبيت Docker وفقًا للعملية، يمكننا استخدام الأمر التالي للتحقق مما إذا كان Docker قد تم تثبيته بنجاح:
عند تثبيت Docker Engine على نظام Linux، إذا كنت ترغب في استخدامه كمستخدم غير الجذر، يمكنك استخدام الأوامر التالية لضبط الأذونات:
بعد الانتهاء من الضبط، قد تحتاج إلى تسجيل الخروج وتسجيل الدخول مرة أخرى لتحديث الأذونات.
إذا كنت تواجه مشكلات أثناء التثبيت، يرجى الرجوع إلى الوثائق الرسمية حل مشاكل تثبيت Docker Engine.
مثال: Hello World
سنستخدم الآن مثالًا "hello-world" الرسمي من Docker للتوضيح. قم بفتح نافذة الطرف أو موجه الأوامر وأدخل الأمر التالي لتشغيل حاوية "hello-world":
سيتم تنزيل صورة "hello-world" من مستودع الصور Docker وإنشاء وتشغيل حاوية. عندما ترى إخراج "hello world"، فهذا يعني أن التشغيل تم بنجاح.
بعض الأوامر الشائعة لواجهة سطر الأوامر في Docker
توفر Docker مجموعة قوية وغنية من الأوامر لإدارة وتشغيل الموارد مثل الحاويات والصور والشبكات. فيما يلي بعض الأوامر الشائعة لواجهة سطر الأوامر في Docker:
docker run
: لإنشاء وتشغيل حاوية جديدة بناءً على صورة معينة. على سبيل المثال،docker run -d -p 8080:80 nginx
سيقوم بتشغيل حاوية NGINX في الخلفية ويخرج المنفذ 8080 على الجهاز الرئيسي إلى المنفذ 80 في الحاوية.
docker ps
: لعرض قائمة بالحاويات التي تعمل حاليًا. عادةً، يظهر ID وصورة والأمر وغيرها من المعلومات للحاويات الجارية. باستخدام الأمرdocker ps -a
، يمكنك عرض كل الحاويات بما في ذلك تلك التي توقفت.
docker stop
: لإيقاف تشغيل حاوية واحدة أو أكثر. يمكن تحديد ID أو اسم الحاوية. على سبيل المثال،docker stop mycontainer
سيوقف حاوية تحمل اسم "mycontainer".
docker start
: لبدء تشغيل حاوية واحدة أو أكثر التي تم إيقاف تشغيلها. يمكن تحديد ID أو اسم الحاوية.
docker restart
: لإعادة تشغيل حاوية واحدة أو أكثر.
docker rm
: لحذف حاوية واحدة أو أكثر. إذا كنت ترغب في حذف حاوية قيد التشغيل، يمكنك استخدام الأمرdocker rm -f
.
docker images
: لعرض قائمة الصور المحلية. سيتم عرض قائمة بالصور التي تم تنزيلها وإنشاؤها على الكمبيوتر المحلي، مع معلومات مثل الهوية والحجم ووقت الإنشاء.
docker rmi
: لحذف صورة واحدة أو أكثر. يمكن تحديد هوية الصورة أو العلامة لحذفها. على سبيل المثال،docker rmi myimage:1.0
سيحذف صورة تحمل اسم "myimage" ولديها العلامة "1.0".
docker build
: لبناء صورة مخصصة بناءً على Dockerfile. على سبيل المثال،docker build -t myimage:1.0 .
سيقوم ببناء صورة باسم "myimage" ولديها العلامة "1.0" استنادًا إلى Dockerfile الموجود في الدليل الحالي.
docker exec
: لتنفيذ أوامر داخل حاوية تعمل. يمكن تحديد ID أو اسم الحاوية، بالإضافة إلى الأمر الذي ترغب في تنفيذه. على سبيل المثال،docker exec -it mycontainer bash
سيبد
إذا كنت ترغب في البدء في التطبيق العملي مباشرة، يمكنك أيضًا الاطلاع على هذه السلسلة من المقالات:
- إنشاء HomeLab الخاص بك
- Homelab - لوحة إدارة الخوادم الخفيفة CasaOS
- Homelab - لوحة إدارة شهادات البروكسي Nginx Proxy Manager
- Homelab - أداة اختراق الشبكة الداخلية frp
- Homelab - بديل مجاني لاختراق الشبكة الداخلية Cloudflared
- Homelab - محرر الشفرات عبر الإنترنت code-server
- Homelab - أداة مراقبة حالة الموقع على الإنترنت Uptime Kuma
- Homelab - أداة ضغط الصور عالية الجودة TinyPNG-docker
- Homelab - موقع الإشارة الشخصي بسيط Flare
- Homelab - منصة إدارة تطبيقات الحاويات Portainer
- Homelab - أداة مزامنة عبر الأجهزة Syncthing
- Homelab - أداة ملاحظات الشظايا memos
- Homelab - نظام ويكي قوي Wiki.js
- Homelab - منصة إدارة كلمات المرور الذاتية الاستضافة Vaultwarden
- Homelab - نظام خدمة الصور السحابية داعم للخدمات العامة Cloudreve
- Homelab - منصة تجميع تغذية الرصاص الذاتية الاستضافة FreshRSS
- Homelab - برنامج البوابة متعدد البروتوكولات Next Terminal
- Homelab - مجموعة أدوات PDF متعددة الوظائف Stirling-PDF
- Homelab - أداة استخراج الرمز المميز لمواقع الويب iconserver
- Homelab - أداة تحديث تطبيقات Docker تلقائيًا Watchtower
- Homelab - برنامج قوائم الملفات متعددة التخزين Alist
- Homelab - برنامج لوحة الإعلانات غني الخصائص WeKan
- [Homelab - خادم البودكاست
الإشارات والشكر
عنوان النص: https://wiki-power.com/ يتم حماية هذا المقال بموجب اتفاقية CC BY-NC-SA 4.0، يُرجى ذكر المصدر عند إعادة النشر.
تمت ترجمة هذه المشاركة باستخدام ChatGPT، يرجى تزويدنا بتعليقاتكم إذا كانت هناك أي حذف أو إهمال.