Podman یکی از ابزارهای قدرتمند و محبوب برای مدیریت کانتینرها در سیستمعامل لینوکس است. این ابزار که بهعنوان جایگزینی برای Docker شناخته میشود، به دلیل سبک بودن، عدم نیاز به Daemon و قابلیت اجرای بدون نیاز به دسترسی root مورد توجه بسیاری از کاربران و توسعهدهندگان قرار گرفته است. در این مقاله به آموزش کامل نصب و استفاده از Podman در لینوکس میپردازیم.
Podman چیست؟
Podman یک ابزار اوپن سورس است که برای ایجاد، مدیریت و اجرای کانتینرها در لینوکس طراحی شده است. Podman به طور مشابه با Docker عمل میکند، اما تفاوتهای مهمی دارد. یکی از ویژگیهای اصلی Podman این است که برخلاف Docker، برای اجرا به هیچ سرور دیمونی (Daemon) نیاز ندارد و میتواند به طور مستقیم توسط کاربر اجرا شود.
مزایای استفاده از Podman
استفاده از Podman میتواند مزایا و ویژگی های زیادی برای مدیریت کانتینرها در لینوکس داشته باشد . در ادامه برسی خواهیم کرد:
- عدم نیاز به سرور دیمونی: یکی از مزیتهای اصلی Podman این است که برخلاف Docker، نیازی به یک دیمون (daemon) برای اجرای کانتینرها ندارد.
- امنیت بالا: Podman از نظر امنیتی نسبت به Docker برتریهایی دارد زیرا به طور پیشفرض میتواند به صورت کاربر غیر ریشهای (non-root) اجرا شود.
- سازگاری با Docker: Podman به گونهای طراحی شده که کاملاً با Docker سازگار باشد و میتواند از دستورات مشابه Docker استفاده کند.
- پشتیبانی از Pod ها: Podman قابلیت کار با Pod ها را دارد که گروهی از کانتینرها هستند که به طور مشترک منابع را مصرف میکنند
پیشنیازهای نصب Podman
برای نصب و استفاده از Podman، به موارد زیر نیاز دارید:
- یک سیستم لینوکسی (مانند Ubuntu، Fedora، CentOS یا Arch Linux).
- دسترسی به اینترنت برای دانلود بستهها و وابستگیهای لازم.
- آشنایی اولیه با محیط خط فرمان لینوکس.
پیش از ادامه، مطمئن شوید که سیستم شما بهروزرسانی شده است. برای این کار، دستورات زیر را اجرا کنید:
برای Ubuntu و Debian :
sudo apt update && sudo apt upgrade -y
برای Fedora و RHEL :
sudo dnf update -y
برای CentOS:
sudo yum update -y
نحوه نصب Podman در لینوکس
در ادامه نجوه نصب Podman بر روی توزیع های مختلف را توضیح خواهیم داد.
نصب Podman روی توزیعهای مبتنی بر Debian مانند( Ubuntu)
1.ابتدا مخازن را بهروزرسانی کنید:
sudo apt update
2.سپس Podman را نصب کنید:
sudo apt install -y podman
3.پس از نصب، نسخه Podman را بررسی کنید:
podman –version
نصب Podman روی توزیعهای مبتنی بر RHEL/CentOS
1.ابتدا مخازن را بهروزرسانی کنید:
sudo yum update
2.برای نصب Podman از دستور زیر استفاده کنید:
sudo yum install -y podman
3.پس از نصب، میتوانید نسخه Podman را بررسی کنید:
podman –version
نصب Podman از طریق Snap (برای توزیعهای مختلف لینوکس)
اگر توزیع لینوکس شما از Snap پشتیبانی میکند، میتوانید Podman را از طریق Snap نصب کنید.
- دستور زیر را برای نصب Podman از Snap اجرا کنید:
sudo snap install podman
نحوه استفاده از Podman
اجرای اولین کانتینر با Podman
بعد از نصب موفقیتآمیز Podman، میتوانید اولین کانتینر خود را اجرا کنید. در اینجا نحوه انجام این کار آورده شده است:
- برای دانلود و اجرای یک کانتینر، دستور زیر را وارد کنید:
podman run -it –rm ubuntu bash
در این دستور:
-
- -it به معنی تعاملی بودن کانتینر است.
- –rm باعث میشود که کانتینر پس از اتمام کار به طور خودکار حذف شود.
- ubuntu نام تصویر کانتینر است و میتوانید به جای آن از هر تصویر دیگری استفاده کنید.
- bash دستوری است که در داخل کانتینر اجرا میشود.
پس از اجرای این دستور، شما وارد ترمینال کانتینر خواهید شد و میتوانید با آن مانند یک سیستم لینوکس عادی کار کنید
مدیریت کانتینرها با Podman
برای مدیریت کانتینرها با Podman، میتوانید از دستورات مختلفی استفاده کنید. در ادامه به برخی از این دستورات میپردازیم.
- لیست کانتینرهای در حال اجرا:
podman ps
- لیست تمام کانتینرها (شامل کانتینرهای متوقف شده):
podman ps -a
- متوقف کردن یک کانتینر:
podman stop <container_id>
podman stop <container_id>
- حذف یک کانتینر:
podman rm <container_id>
- حذف یک تصویر:
podman rmi <image_id>
استفاده از Podman برای ساخت تصاویر
یکی از قابلیتهای مهم Podman ساخت تصاویر کانتینر است. برای ساخت یک تصویر، ابتدا باید یک فایل Dockerfile داشته باشید.
برای ساخت تصویر از دستور زیر استفاده کنید:
podman build -t my_image
در این دستور:
- -t my_image نام تصویر ساخته شده است.
- .به معنی مسیر دایرکتوری است که Dockerfile در آن قرار دارد
استفاده از Podman در حالت غیر ریشهای
یکی از ویژگیهای Podman این است که میتوان آن را در حالت غیر ریشهای (non-root) اجرا کرد. این ویژگی امنیت سیستم را بالا میبرد.
برای اجرای Podman به عنوان یک کاربر غیر ریشهای، کافی است از دستورات معمولی Podman استفاده کنید بدون اینکه به دسترسی ریشه نیاز باشد.
Podman و Kubernetes
Podman با Kubernetes نیز سازگار است و میتوان از آن برای ساخت و مدیریت کانتینرها در محیطهای Kubernetes استفاده کرد. Podman از Podها پشتیبانی میکند که مشابه با مفاهیم Pod در Kubernetes است.
نتیجهگیری
Podman یک ابزار قدرتمند و سبک برای مدیریت کانتینرها است که میتواند جایگزین خوبی برای Docker باشد. این ابزار با ویژگیهایی همچون اجرای بدون نیاز به دیمون، امنیت بالا و سازگاری با Docker، به یکی از ابزارهای محبوب برای توسعهدهندگان تبدیل شده است. در این مقاله، ما به آموزش نصب و استفاده از Podman در سیستمعامل لینوکس پرداختیم. اکنون میتوانید از Podman برای مدیریت کانتینرها و ساخت تصاویر در پروژههای خود استفاده کنید.
سوالات متدوال
1.آیا میتوان کانتینرهای ساخته شده با Docker را به Podman منتقل کرد؟
بله، Podman از فرمت کانتینرها و تصاویر Docker پشتیبانی میکند. شما میتوانید تصاویر Docker را مستقیماً با Podman اجرا کنید یا از ابزارهایی مانند podman save و podman load برای انتقال استفاده کنید.
2.آیا Podman از فایلهای Compose برای اجرای کانتینرها پشتیبانی میکند؟
بله، میتوانید از ابزار podman-compose برای اجرای فایلهای docker-compose.yml استفاده کنید. این ابزار به شما اجازه میدهد چندین کانتینر مرتبط را مشابه Docker Compose مدیریت کنید.
3.آیا میتوان کانتینرهای Podman را رمزنگاری کرد؟
بله، Podman از رمزنگاری کانتینرها با استفاده از podman image sign
پشتیبانی میکند. این قابلیت امنیت تصاویر را افزایش داده و به شما اطمینان میدهد که تصاویر تغییری نکردهاند.