هل أنت حديث العهد باستخدام أداة بودمان؟ إن كان جوابك نعم، فلا تقلق، سنتعلم في هذا المقال كيفية إنشاء الحاويات وكيفية عرضها وإيقافها وحذفها باستخدام بودمان.
هذا المقال جزء من سلسلة مقالات بودمان Podman وهي تهدف لتعريفك على هذه الأداة كي تستطيع عند نهاية هذه المقالات، التعرف على الفرق بين دوكر وبودمان، وبدء استخدام بودمان بكفاءة عند العمل مع الحاويات.
ما ستتعلمه في سلسلة تعرف على أداة بودمان Podman
سنتعلم في هذه سلسلة ما يلي:
- الفرق بين أداتي دوكر وبودمان
- إنشاء الحاويات وحذفها باستخدام أداة بودمان
- تفعيل حاويات بودمان تلقائيًا عند إقلاع النظام
- تحديث الحاويات
- مفهوم الحاويات محدودة الصلاحية Rootless containers
- مفهوم بودمان كومبوز Podman Compose
متطلبات هذه السلسلة
- معرفة مسبقة بمفهوم الحاويات
- تجربة مسبقة في التعامل مع دوكر
- خبرة في التعامل مع سطر الأوامر أو الطرفية Terminal في لينكس
كما تعلمنا في مقال سابق فإن أداة بودمان هي أداة بديلة عن دوكر تستخدم لإدارة الحاويات، ولها بنية أوامر مشابهة لأوامر دوكر. وسنتعلم في مقال اليوم كيفية إنشاء الحاويات وحذفها.
سحب الصور من سجل الصور باستخدام بودمان
عند إنشاء الحاويات، ستحتاج أولًا إلى صورة للحاوية image، إذ لا يمكنك تنفيذ شيء بدون الصورة. ولذلك عليك سحب pull الصورة من سجل الصور.
إليك بعض سجلات الصور الشهيرة:
- Docker Hub
- Quay.io
- سجلات الصور المستضافة مثل linuxserver.io
ولسحب صورة باستخدام بودمان فعليك استخدام الصيغة التالية:
podman pull [OPTIONS] FULLY_QUALIFIED_IMAGE_NAME[:tag|@digest]
لمعرفة معنى اسم الصورة المؤهل بالكامل FULLY_QUALIFIED_IMAGE_NAME
واختصارًا FQIN، ألقِ نظرةً على الأمرين التاليين:
# باستخدام اسم الصورة المؤهل تمامًا podman pull docker.io/library/debian # بدون اسم الصورة المؤهل تمامًا podman pull debian
كما تلاحظ، في اسم الصورة المؤهل بالكامل، يكون التنسيق على النحو التالي: السجل/اسم المستخدم/اسم الصورة. في مثالنا فإن docker.io هو عنوان سجل دوكر hub.docker.com.
لسحب وسم tag محدد، اكتب اسم الوسم بعد اسم الصورة، مسبوقًا بنقطتين (:). إليك مثالًا عن سحب الوسم stable-slim
لصورة ديبيان:
podman pull docker.io/library/debian:stable-slim
عرض الصور المتاحة
بعد سحب صورة أو أكثر، يمكنك معاينة الصور المتوفرة محليًا باستخدام الأمر podman Images
. عند سحب صورة debian:stable-slim
، ستحصل على الخرج التالي:
$ podman images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/library/debian stable-slim 86f9b934c377 2 days ago 77.8 MB
والآن بعد أن حصلت على الصورة يمكنك إنشاء حاوية جديدة
إنشاء حاوية جديدة
لإنشاء حاوية جديدة في بودمان، عليك استخدام الأمر podman run
بالطريقة التالية:
podman run [OPTIONS] image [COMMAND [ARGS]]
والآن، سنضيف بعض الخيارات options على الأمر السابق، سنضيف أولًا الخيار d-
لتشغيل الحاوية باستمرار في الخلفية، والخيار t-
لتخصيص طرفية زائفة pseudo-TTY لصورة ديبيان كي تعمل باستمرار. يمكنك الاطلاع على قائمة الخيارات المتاحة من توثيقات بودمان.
والآن، سننشئ حاوية بسيطة تعتمد على صورة توزيعة ديبيان stable-slim
التي سحبناها مسبقًا.
podman run -d -t debian:stable-slim
عند نجاح إنشاء الحاوية، ستحصل في الخرج output على سلسلة عشوائية من الأحرف والأرقام. هذه السلسلة هي معرف الحاوية الفريد unique container ID.
61d1b10b5818f397c6fd8f1fc542a83810d21f81825bbfb9603b7d99f6322845
عرض الحاويات
أولًا، لعرض الحاويات قيد التشغيل، عليك استخدم الأمر podman ps
، وهو يشبه الأمر ps
في لينكس، لكن بدلاً من إظهار عمليات النظام، فإنه يظهر الحاويات قيد التشغيل وتفاصيلها.
بما أننا استخدمنا الخيار t-
لتشغيل حاوية دبيان، فلنرَ كيف تبدو نتيجة الأمر podman ps
:
$ podman ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 61d1b10b5818 docker.io/library/debian:stable-slim bash 44 seconds ago Up 44 seconds ago gallant_mahavira
يمكنك الحصول على معلومات عن الحاوية باستخدام الأمر ps
كمعرّف الحاوية الفريد القصير، والصورة المستخدمة لإنشاء هذه الحاوية، ومتى أُنشِئت الحاوية، ومنافذ الجهاز المضيف المسندة إلى منافذ الحاوية واسمها. ونلاحظ من الخرج أن الصورة المستخدمة هي debian:stable-slim
أُنشِئت قبل 44 ثانية، أما اسم الحاوية فهو gallant_mahavira
.
يمكنك تسمية الحاوية عند إنشائها باستخدام الخيار name CONTAINER_NAME--
، فعندما لا تحدد اسم الحاوية، يُولَد اسم عشوائي لها. ثانيًا، لعرض الحاويات المتوقفة عن العمل Stopped containers عليك استخدام الأمر التالي:
podman container list -a
والآن، سنتعلم كيفية إيقاف الحاويات.
إيقاف الحاويات
لإيقاف الحاويات عليك استخدام الأمر podman stop
مع معرّف الحاوية أو اسمها، وذلك وفق الصيغة التالية:
podman stop [CONTAINER_NAME|CONTAINER_ID]
والآن سنوقف الحاوية الجارية باستخدام اسمها:
$ podman stop gallant_mahavira gallant_mahavira
والآن بإمكانك استخدام الأمر السابق لعرض جميع الحاويات الجارية والمتوقفة:
$ podman container list -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 61d1b10b5818 docker.io/library/debian:stable-slim bash 14 minutes ago Exited (137) 3 minutes ago gallant_mahavira
ملاحظة: ترتبط كل من الأوامر podman container list and podman container ls
، podman ps
، podman container ps
بنفس الملف الثنائي binary ولها نفس الاستخدام وتعطي نفس الخرج.
إعادة تشغيل الحاوية
لإعادة تشغيل حاوية ما بعد إيقاف عملها أو فشله، عليك استخدام الأمر podman start
. فلنفترض أن الحاوية التي أنشأتها من صورة ديبيان فشلت لسبب ما، إذًا يمكنك إعادة تشغيلها عن طريق كتابة اسمها أو معرّفها بعد الأمر podman start
كالتالي:
$ podman start 61d1b10b5818f397c6fd8f1fc542a83810d21f81825bbfb9603b7d99f6322845
حذف الحاويات
قبل حذف حاوية أو تدميرها عليك أولًا إيقافها، وبعدها يمكنك استخدام الأمر podman rm
لحذفها. بمجرد حذف الحاوية، فإنها ستختفي ولن تظهر في خرج الأمر podman Container list -a
. إليك المثال التالي على إيقاف وحذف حاوية باستخدام بودمان، والذي استخدمنا فيه اسم الحاوية ومعرفها.
$ podman ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 61d1b10b5818 docker.io/library/debian:stable-slim bash 44 minutes ago Up 1 second ago gallant_mahavira $ podman stop gallant_mahavira gallant_mahavira $ podman rm 61d1b10b5818 61d1b10b5818f397c6fd8f1fc542a83810d21f81825bbfb9603b7d99f6322845 $ podman container list -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
كما ترى فإن الحاوية اختفت تمامًا. يمكنك الآن إن أردت، إنشاء حاوية جديدة باستخدام أي صورة وفق الأوامر الخطوات التي تعلمتها.
الخاتمة
تهانينا، لقد وصلت إلى نهاية المقال الثالث في سلسلتنا التعليمية حول أداة بودمان، وتعلمت كيفية إنشاء الحاويات وعرضها وإيقافها وحذفها، تابع قراءة باقي المقالات كي تتعلم المزيد حول بودمان. ترجمة -وبتصرف- للمقال Creating and Destroying Containers Using Podman من موقع Linux Handbook.
تعليقات
إرسال تعليق