كيفية استخدام حاويات دوكر
الحاويات هي شريان الحياة لكل عملية تثبيت لـ Docker. إنها بمثابة أساس منصة Docker وتسمح لك بتشغيل الخدمات على جهاز الكمبيوتر الخاص بك دون القلق بشأن التبعيات وتعارضات الإصدارات. نعرض لك هنا أساسيات إنشاء حاويات Docker وإدارتها وتخصيصها باستخدام أداة Docker CLI.
ملحوظة: ابدأ بتثبيت Docker أولاً على نظام Linux الخاص بك.
كيفية البحث عن صورة عامل ميناء وسحبها
تعد حاويات Docker نوعًا خاصًا من بيئة البرامج التي تسمح لك بتشغيل برامج منفصلة عن بقية نظامك الأصلي. ولتحقيق ذلك، يستخدم Docker “صور البرامج”. هذه نسخ ثابتة من البرامج التي تعمل كقاعدة تبدأ منها الحاوية.
يتيح لك هذا التمييز بين الصورة والحاوية إعادة إنشاء برنامجك وتكييفه بأي طريقة ضرورية. على سبيل المثال، يمكن أن يكون لديك صورة مثل “httpd” ولكن قم بتدوير حاويتين مختلفتين منها: “website1″ و”website2”.
أسهل طريقة للبحث عن صورة Docker جديدة هي استخدام ملف search
أمر فرعي:
يمكنك أيضًا البحث عن الحزم على موقع Docker Hub إذا كنت تفضل استخدام متصفح الويب الخاص بك.
لتنزيل الصورة على نظامك، قم بتشغيل الأمر التالي:
تأكد من أنك قمت بإضافة صورتك الجديدة بشكل صحيح إلى نظامك باستخدام images
أمر فرعي:
بناء صورة جديدة باستخدام Dockerfiles
وبصرف النظر عن سحب الصور المعدة مسبقًا من Docker Hub، يمكنك إنشاء الصور مباشرةً من Docker CLI. يعد هذا مفيدًا إذا كنت تريد إما إنشاء إصدارات مخصصة من حزم البرامج الموجودة أو نقل تطبيقات جديدة إلى Docker.
للقيام بذلك، قم أولاً بإنشاء مجلد في دليلك الرئيسي لملفات البناء الخاصة بك:
mkdir ~/my-docker-image && cd ~/my-docker-image
قم بإنشاء ملف Dockerfile جديد باستخدام محرر النصوص المفضل لديك:
الصق أسطر التعليمات البرمجية التالية داخل ملف Dockerfile الجديد:
FROM nginx COPY sample-site /usr/share/nginx/html
أنشئ مجلد “موقع العينة” ثم قم بنسخه أو إنشاء موقع HTML أساسي:
mkdir ./sample-site cp ~/index.html ./sample-site/
احفظ ملف Dockerfile الجديد، ثم قم بتشغيل الأمر التالي لإنشائه على نظامك:
docker build -t custom-nginx .
تحقق مما إذا كانت صورة Docker الجديدة موجودة في قائمة صور Docker الخاصة بك:
بناء صورة جديدة باستخدام الحاويات الموجودة
يمكن لأداة Docker CLI أيضًا إنشاء صور جديدة من الحاويات الموجودة حاليًا في نظامك. يعد هذا مفيدًا إذا كنت تعمل بالفعل على بيئة موجودة وتريد إنشاء صورة جديدة من الإعداد الحالي لديك.
للقيام بذلك، تأكد من أن الحاوية الخاصة بك ليست قيد التشغيل حاليًا:
docker stop my-http-server
تشغيل commit
أمر فرعي متبوعًا باسم الحاوية الخاصة بك، ثم أدخل اسم صورة Docker الجديدة بعد ذلك:
docker commit my-http-server my-new-server-image
تأكد من وجود صورة Docker الجديدة في نظامك عن طريق التشغيل docker images
.
كيفية تشغيل وإيقاف حاوية Docker
بعد أن أصبحت صورة Docker جاهزة، يمكنك الآن البدء في استخدامها لإنشاء حاويتك الأولى. للقيام بذلك، استخدم run
أمر فرعي متبوعًا باسم الصورة التي تريد تشغيلها:
على الرغم من أن هذا سيعمل على تشغيل حاوية Docker الأولى، إلا أن القيام بذلك بهذه الطريقة سيتولى مهمة جلسة Shell الحالية. لتشغيل الحاوية الخاصة بك في الخلفية، قم بإلحاق -d
العلم بعد run
أمر فرعي:
ال run
يمكن أن يستقبل الأمر الفرعي أيضًا عددًا من العلامات الإضافية التي يمكنها تغيير سلوك حاوية Docker الجديدة. على سبيل المثال، --name
تتيح لك العلامة إضافة اسم قابل للتخصيص إلى الحاوية الخاصة بك:
docker run -d --name=my-http-server httpd
ومن ناحية أخرى، يمكنك استخدام --publish
علامة لإعادة توجيه منفذ الشبكة حيث يمكنك الوصول إلى حاوية Docker الخاصة بك. يعد هذا مفيدًا بشكل أساسي إذا كنت لا تريد أن تتولى حاويتك منفذًا مميزًا:
docker run -d --name=my-http-server --publish 8080:80 httpd
يمكنك التحقق من جميع حاويات Docker قيد التشغيل حاليًا في نظامك عن طريق تشغيل الأمر التالي:
مشابهه ل run
أمر فرعي, ps
يمكن أيضًا أن يأخذ مجموعة من العلامات التي من شأنها تعديل سلوكه. على سبيل المثال، لعرض الحاويات المتوقفة حاليًا، استخدم الملف -a
علَم:
لإيقاف تشغيل حاوية قيد التشغيل، استخدم stop
أمر فرعي متبوعًا بمعرف الحاوية أو اسم حاوية Docker الخاصة بك:
docker stop my-http-server
يمكنك إعادة تشغيل أي حاوية قمت بإيقافها عن طريق إعادة تشغيل ملف start
أمر فرعي:
docker start my-http-server
في ملحوظة جانبية: تعلم أساسيات استضافة الويب باستخدام Docker عن طريق تشغيل موقع ويب بسيط باستخدام darkhttpd.
إيقاف حاوية Docker وإيقافها مؤقتًا
تتيح لك أداة Docker CLI أيضًا إيقاف عملية الحاوية قيد التشغيل مؤقتًا وإيقافها. يمكن أن يكون هذا مفيدًا إذا كنت تستكشف مشكلة في إعداد Docker وإصلاحها وتريد إما عزل حاوية تعمل بشكل سيء أو إيقافها.
ابدأ بالجري docker ps
لسرد كافة الحاويات قيد التشغيل في النظام.
ابحث عن المعرف أو اسم الحاوية التي تريد إدارتها.
تشغيل pause
أمر فرعي متبوعًا باسم الحاوية التي تريد تعليقها مؤقتًا:
docker pause my-http-server
يمكنك استئناف العملية المعلقة عن طريق تشغيل unpause
أمر فرعي:
docker unpause my-http-server
لإيقاف عملية سوء التصرف، قم بتشغيل kill
أمر فرعي متبوعًا باسم الحاوية الخاصة بك:
docker kill my-http-server
كيفية فحص حاوية عامل ميناء
تعد معرفة التفاصيل المعقدة لحاويتك جزءًا حيويًا من الحفاظ على صحة مكدس Docker الخاص بك. فهو يسمح لك بإلقاء نظرة سريعة على أي مشكلات محتملة ويمكن أن يكون هذا هو الفرق بين إصلاح عملية النشر بأكملها وإعادة تنفيذها.
لإلقاء نظرة عامة على حاوية Docker الخاصة بك، قم بتشغيل ملف inspect
أمر فرعي:
docker inspect my-http-server
سيؤدي القيام بذلك إلى طباعة سلسلة JSON طويلة تصف الحالة الحالية للحاوية بأكملها. يمكنك تضييق نطاق ذلك إما عن طريق توصيل الإخراج إلى jq أو باستخدام الملف المدمج -f
علامة متبوعة بكائن JSON الذي تريد طباعته:
docker inspect -f {{.Name}} my-http-server
طباعة سجلات الحاويات إلى المحطة
وبصرف النظر عن ذلك، يمكنك أيضًا تتبع وطباعة سجلات أي حاوية Docker قيد التشغيل حاليًا. يمكن أن يكون هذا مفيدًا إذا كنت تريد التحقق من سلوك الخدمة حاليًا وإلقاء نظرة على المخرجات التي تعود إلى STDOUT.
للقيام بذلك، قم بتشغيل الأمر الفرعي logs متبوعًا باسم الحاوية الخاصة بك:
docker logs my-http-server
يمكنك أيضًا تشغيل الأمر الفرعي للسجلات باستخدام الأمر --follow
علامة لإنشاء سجل مستمر لخدمة Docker الخاصة بك. هذا مشابه للجري tail -f
في نهاية أنبوب UNIX:
docker logs --follow my-http-server
كما هو الحال مع الأوامر الفرعية الأخرى، يمكنك أيضًا إضافة علامات مختلفة لتخصيص مخرجات سجل حاوية Docker الخاصة بك. على سبيل المثال، --timestamps
تضيف العلامة طابعًا زمنيًا تفصيليًا لكل رسالة ترسلها حاويتك إلى STDOUT الخاصة بها:
docker logs --timestamps my-http-server
ال --details
ستطبع العلامة حتى متغيرات البيئة التي قمت بتعيينها لحاوية Docker الحالية. وفي الوقت نفسه، --since
تتيح لك العلامة عرض السجلات التي حدثت بعد نقطة زمنية معينة فقط:
docker logs --details --since 8m my-http-server
كيفية تخصيص حاوية عامل ميناء
تعد Docker Container في جوهرها نسخة صغيرة ومبسطة من Linux تعمل أعلى نظامك الحالي. وهذا يعني أنه، كما هو الحال مع الجهاز الظاهري، من الممكن الوصول إلى البيانات واسترجاعها داخل الحاوية الخاصة بك.
لنسخ ملف محلي من جهازك المضيف إلى الحاوية، قم بتشغيل الملف cp
أمر فرعي:
docker cp ~/my-file my-http-server:/tmp
في بعض الأحيان، ستحتاج أيضًا إلى “الدخول” إلى الحاويات عن طريق فتح غلاف بداخلها. بهذه الطريقة يمكنك تحرير الملفات وتثبيت الثنائيات وتخصيصها وفقًا لاحتياجاتك:
docker exec -it my-http-server /bin/bash
الآن، يمكنك، على سبيل المثال، تعديل “index.html” وإنشاء صفحة رئيسية لموقع الويب بداخله.
للخروج من غلاف الحاوية إما بالضغط كنترول + د، أو الجري exit
على المحطة.
جيد ان تعلم: تعرف على كيفية نقل حاوية Docker موجودة إلى نظام جديد.
كيفية حذف حاويات وصور Docker
تعد إزالة حاويات Docker والصور غير المستخدمة جزءًا مهمًا من الإدارة العامة للنشر الخاص بك. يتيح لك القيام بذلك إزالة الملفات غير الضرورية من الخادم الخاص بك، مما يوفر مساحة التخزين على المدى الطويل.
قبل حذف حاوية، تأكد من إيقافها أولاً:
docker stop my-http-server
الآن قم بإزالة الحاوية باستخدام rm
أمر فرعي:
تأكد من أنك قمت بحذف حاوية Docker القديمة بشكل صحيح عن طريق التشغيل docker ps -a
.
احذف صورة Docker الأصلية من نشر Docker الخاص بك:
docker rmi my-new-server-image
تحقق مما إذا كنت قد قمت بإزالة صورة Docker الأصلية بشكل صحيح عن طريق التشغيل docker images
.
يعد تعلم كيفية إنشاء حاويات Docker وإدارتها وإزالتها مجرد بعض مما يمكنك فعله باستخدام خادم Linux الخاص بك. استكشف العالم العميق لإدارة نظام Linux من خلال استضافة خادم ومركز حاوية Docker مع XPipe.
حقوق الصورة: شامين حقي عبر Unsplash. جميع التعديلات ولقطات الشاشة بواسطة Ramces Red.
اشترك في نشرتنا الإخبارية!
يتم تسليم أحدث البرامج التعليمية لدينا مباشرة إلى صندوق البريد الوارد الخاص بك