تخطي إلى المحتوى
العودة إلى الرؤى والتحليلات
3 دقائق قراءة تم التحديث Sep 5, 2026

البدء باستخدام Podman على توزيعة Fedora

containers podman docker
البدء باستخدام Podman على توزيعة Fedora

نُشر هذا المقال أصلاً في مجلة Fedora Magazine بقلم يزن المنشد.

في هذا المقال، سنستعرض محرك Podman وكيفية استخدامه لبناء وتشغيل تطبيق ويب بسيط ونظيف باستخدام Node.js.

يُعد Podman محرك حاويات لا يحتاج إلى مشغل خلفي (Daemonless) لتطوير وإدارة وتشغيل حاويات OCI على نظام Linux بكل أمان وكفاءة وبدون الحاجة لصلاحيات الجذر (Rootless). تتطابق أوامر Podman مع أوامر Docker إلى حد كبير، حتى أنه يمكنك استخدام أمر بديل في الطرفية عبر alias docker=podman.


تثبيت Podman على Fedora

يأتي Podman مثبتاً بشكل افتراضي في نظام Fedora Workstation، ولكن إذا لم يكن مثبتاً لديك لأي سبب، يمكنك تثبيته بالأمر التالي:

$ sudo dnf install podman -y

أما بالنسبة لمستخدمي Fedora Silverblue، فإن Podman مدمج أساساً في النظام. يمكنك الآن سحب وتشغيل حاوية الاختبار للتأكد من أن كل شيء يعمل بالشكل المطلوب:

$ podman pull hello-world
$ podman run hello-world

إذا كانت عملية التثبيت صحيحة، سيظهر لك المخرج التالي في الطرفية:

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

إنشاء تطبيق Node.js بسيط

أولاً، سنقوم بإنشاء مجلد للتطبيق والانتقال إليه:

$ mkdir webapp && cd webapp

بعد ذلك، أنشئ ملف package.json لتحديد اعتماديات المشروع:

{
  "dependencies": {
    "express": "*"
  },
  "scripts": {
    "start": "node index.js"
  }
}

ثم أنشئ ملف index.js وأضف الكود التالي لإرجاع رسالة ترحيبية:

const express = require('express');
const app = express();

app.get('/', (req, res) => {
    res.send("Hello World!");
});

app.listen(8080, () => {
    console.log("Listening on port 8080");
});

يمكنك أيضاً الاطلاع على الكود المصدري عبر مستودع GitHub.


إنشاء ملف الحاوية (Dockerfile)

الآن، قم بإنشاء ملف باسم Dockerfile داخل مجلد webapp (تأكد من كتابة أول حرف كبيراً)، وأضف التعليمات التالية:

FROM node:alpine

WORKDIR /usr/app

COPY ./ ./

RUN npm install

CMD ["npm", "start"]

بناء الصورة باستخدام Podman

تأكد من وجودك داخل مجلد webapp، ثم قم ببناء صورة الحاوية بتنفيذ:

$ podman build -t webapp .

ملاحظة: لا تنس وضع النقطة (.) في نهاية الأمر لتحديد المسار الحالي كسياق للبناء.

بعد انتهاء البناء، يمكنك استعراض الصور المتوفرة محلياً عبر:

$ podman images

تشغيل الحاوية

الخطوة التالية هي تشغيل الصورة داخل حاوية وتوجيه المنفذ 8080:

$ podman run -d -p 8080:8080 --name my-webapp webapp

افتح متصفح الويب وانتقل إلى http://localhost:8080، وسترى رسالة “Hello World!” تعمل بنجاح.


إيقاف الحاويات وحذفها

للتحقق من الحاويات التي تعمل حالياً أو المتوقفة:

$ podman ps -a

لإيقاف الحاوية:

$ podman stop my-webapp

لحذف الحاوية بعد إيقافها:

$ podman rm my-webapp

وأخيراً، لحذف صورة الحاوية من جهازك:

$ podman rmi webapp

الخلاصة

يمنحك Podman تجربة مطابقة لمعايير OCI مع ميزة الأمان العالي بفضل العمل بدون خادم خلفي (Daemonless) وبدون صلاحيات الروت (Rootless). جرب بناء تطبيقاتك القادمة بواسطته على Fedora واستمتع بأداء خفيف وسريع.

لنعمل معاً

هل لديك مشروع في ذهنك؟ لنناقش كيف يمكنني مساعدتك في AIOps، وهندسة وكلاء الذكاء الاصطناعي، و MLOps، والبنية التحتية للحوسبة السحابية.

يمكنك التواصل معي عبر GitHub، X، أو LinkedIn.

A.I.D.A. SYSTEM MONITOR

Uplink status: SECURE
Agent role: DevOps Assistant