podman-remote(1) General Commands Manual podman-remote(1)

podman-remote - واسط خط فرمان راه دور برای پادمن: ابزاری ساده برای مدیریت پادها، کانتینرها و ایمیج‌ها

podman-remote [گزینه‌ها] دستور

پادمن (مدیر پاد یا Pod Manager) یک موتور کانتینری کامل است که به صورت ابزاری ساده و بدون دیمن (daemonless) عمل می‌کند. پادمن خط فرمانی مشابه Docker-CLI ارائه می‌دهد که مهاجرت از سایر موتورهای کانتینری را آسان کرده و امکان مدیریت پادها، کانتینرها و ایمیج‌ها را فراهم می‌سازد. به بیان ساده: alias docker=podman. بیشتر دستورات پادمن را می‌توان به عنوان یک کاربر عادی و بدون نیاز به دسترسی‌های ویژه اجرا کرد.

پادمن به صورت داخلی از Buildah(1) برای ساخت ایمیج‌های کانتینر استفاده می‌کند. هر دو ابزار در فضای ذخیره‌سازی ایمیج (و نه کانتینر) مشترک هستند، بنابراین هر یک می‌توانند از ایمیج‌های ساخته‌شده توسط دیگری استفاده کنند یا آن‌ها را تغییر دهند (اما کانتینرها را نه).

ابزار podman-remote یک کلاینت محلی فراهم می‌کند که از طریق یک API مبتنی بر RESTful درون یک اتصال امن SSH، با یک گره پس‌زمینه پادمن ارتباط برقرار می‌سازد. در این زمینه، یک گره پادمن یک سیستم لینوکسی است که پادمن روی آن نصب شده و سرویس API آن فعال است. اعتبارنامه‌ها برای این نشست را می‌توان با استفاده از فلگ‌ها، متغیرهای محیطی یا در فایل containers.conf منتقل کرد.

فایل containers.conf در لینوکس و مک در مسیر $HOME/.config/containers/containers.conf و در ویندوز در مسیر %APPDATA%\containers\containers.conf قرار دارد.

podman [گزینه‌های عمومی]

نام اتصال راه دور.

در صورت تنظیم بودن، بر متغیر محیطی CONTAINER_CONNECTION تقدم دارد.

نمایش راهنمای استفاده.

مسیر فایل هویت ssh (کلید خصوصی). اگر فایل هویت رمزگذاری شده باشد، پادمن از کاربر می‌خواهد عبارت عبور (passphrase) را وارد کند. اگر هیچ فایل هویتی ارائه نشود و کاربری مشخص نگردد، پادمن به طور پیش‌فرض از کاربری که دستور پادمن را اجرا می‌کند استفاده خواهد کرد. پادمن رمز عبور ورود را در سرور راه دور درخواست می‌کند.

اولویت بررسی و تعیین مقدار هویت:
- مقدار ارائه‌شده در خط فرمان
- متغیر محیطی CONTAINER_SSHKEY، در صورتی که CONTAINER_HOST یافت شود
- فایل containers.conf

ثبت پیام‌های بالاتر از سطح مشخص‌شده در لاگ: debug، info، warn، error (پیش‌فرض)، fatal یا panic.

نشانی وب (URL) برای دسترسی به سرویس پادمن (پیش‌فرض از containers.conf، در حالت بدون ریشه "unix:///run/user/$UID/podman/podman.sock" یا به عنوان ریشه "unix:///run/podman/podman.sock").

  • متغیر CONTAINER_HOST دارای قالب <schema>://[<user[:<password>]@]<host>[:<port>][<path>] است.
  • متغیر CONTAINER_PROXY دارای قالب <socks5|socks5h>://[<user[:<password>]@]<host>[:<port>] است.

جزئیات:
- پارامتر schema یکی از موارد زیر است:
* ssh (پیش‌فرض): یک سوکت یونیکس محلی unix(7) روی host و port مشخص‌شده، قابل دسترسی از طریق SSH
* tcp: یک اتصال TCP رمزنگاری‌نشده و بدون احراز هویت به host و port مشخص‌شده؛ در صورت تنظیم CONTAINER_PROXY می‌تواند با پروکسی کار کند
* unix: یک سوکت یونیکس محلی unix(7) در path مشخص‌شده، یا پیش‌فرض برای کاربر
- مقدار user به طور پیش‌فرض root یا کاربر جاری اجراکننده است (فقط در ssh)
- مقدار password هیچ پیش‌فرضی ندارد (فقط در ssh)
- مقدار host باید مشخص شود و آی‌پی (IP) یا نام میزبانی است که سرویس پادمن روی آن قرار دارد (ssh و tcp)
- مقدار port به طور پیش‌فرض 22 است (ssh و tcp)
- مقدار path به طور پیش‌فرض /run/podman/podman.sock است، یا در حالت بدون ریشه /run/user/$UID/podman/podman.sock (unix)، یا باید صریحاً مشخص شود (ssh)
- متغیر CONTAINER_PROXY: استفاده از پروکسی (socks5 یا socks5h) برای دسترسی به سرویس پادمن (فقط در tcp)

اولویت بررسی و تعیین مقدار URL:
- مقدار ارائه‌شده در خط فرمان
- متغیر محیطی CONTAINER_HOST
- جدول engine.service_destinations در containers.conf، به استثنای دایرکتوری /usr/share/containers
- سوکت unix:///run/podman/podman.sock

اتصالات راه دور برای مقادیر پیش‌فرض از containers.conf محلی استفاده می‌کنند.

چند نمونه از مقادیر معتبر URL:
- unix:///run/podman/podman.sock
- unix:///run/user/$UID/podman/podman.sock
- ssh://notroot@localhost:22/run/user/$UID/podman/podman.sock
- ssh://root@localhost:22/run/podman/podman.sock
- tcp://localhost:34451
- tcp://127.0.0.1:34451

نمایش نسخه برنامه.

پادمن می‌تواند متغیرهای محیطی را از جدول env در بخش [engine] در containers.conf تنظیم کند. این متغیرها را می‌توان با ارسال متغیرهای محیطی پیش از دستورات podman بازنویسی کرد.

تنظیم مسیرهای پیش‌فرض فایل containers.conf.

تنظیم مقدار پیش‌فرض --connection برای دسترسی به سرویس پادمن.

تنظیم مقدار پیش‌فرض --url برای دسترسی به سرویس پادمن.

تنظیم مسیر پیش‌فرض --identity به فایل کلید ssh جهت دسترسی به سرویس پادمن.

کد خروج از podman اطلاعاتی درباره علت شکست اجرای کانتینر یا خروج آن ارائه می‌دهد. هنگامی که دستورات podman با یک کد غیرصفر خارج می‌شوند، کدهای خروج از استاندارد chroot پیروی می‌کنند که در ادامه آمده است:

125 خطا مربوط به خود پادمن است

$ podman run --foo busybox; echo $?
Error: unknown flag: --foo
125

126 یک دستور درون کانتینر اجرا شده و امکان فراخوانی آن دستور وجود ندارد

$ podman run busybox /etc; echo $?
Error: container_linux.go:346: starting container process caused "exec:
126

127 یک دستور درون کانتینر اجرا شده و آن دستور یافت نمی‌شود

$ podman run busybox foo; echo $?
Error: container_linux.go:346: starting container process caused "exec:
127

کد خروج کد خروج دستور درون کانتینر

$ podman run busybox /bin/sh -c 'exit 3'; echo $?
3

دستور توضیحات
podman-attach(1) متصل شدن به یک کانتینر در حال اجرا.
podman-build(1) ساخت ایمیج کانتینر با استفاده از Dockerfile.
podman-commit(1) ایجاد ایمیج جدید بر اساس کانتینر تغییریافته.
podman-container(1) مدیریت کانتینرها.
podman-cp(1) کپی کردن فایل‌ها/پوشه‌ها بین یک کانتینر و فایل‌سیستم محلی.
podman-create(1) ایجاد یک کانتینر جدید.
podman-diff(1) بررسی تغییرات روی فایل‌سیستم یک کانتینر یا ایمیج.
podman-events(1) نظارت بر رویدادهای پادمن.
podman-export(1) صادر کردن محتویات فایل‌سیستم یک کانتینر به صورت آرشیو tar.
podman-generate(1) تولید داده‌های ساخت‌یافته بر اساس کانتینرها و پادها.
podman-healthcheck(1) مدیریت بررسی سلامت (healthcheck) برای کانتینرها.
podman-history(1) نمایش تاریخچه یک ایمیج.
podman-image(1) مدیریت ایمیج‌ها.
podman-images(1) فهرست کردن ایمیج‌ها در حافظه محلی.
podman-import(1) وارد کردن یک tarball و ذخیره آن به عنوان ایمیج فایل‌سیستم.
podman-info(1) نمایش اطلاعات سیستمی مربوط به پادمن.
podman-init(1) راه‌اندازی اولیه یک کانتینر.
podman-inspect(1) نمایش پیکربندی یک کانتینر یا ایمیج.
podman-kill(1) ارسال سیگنال کشتن به فرآیند اصلی در یک یا چند کانتینر.
podman-load(1) بارگذاری یک ایمیج از آرشیو ایمیج کانتینر به حافظه کانتینر.
podman-logs(1) نمایش لاگ‌های یک کانتینر.
podman-pause(1) متوقف کردن موقت (pause) یک یا چند کانتینر.
podman-pod(1) ابزار مدیریت گروه‌های کانتینری موسوم به پادها (pods).
podman-port(1) فهرست کردن نگاشت پورت‌ها برای یک کانتینر.
podman-ps(1) چاپ اطلاعات درباره کانتینرها.
podman-pull(1) دریافت (pull) یک ایمیج از یک رجیستری.
podman-push(1) ارسال (push) یک ایمیج از حافظه محلی به مقصدی دیگر.
podman-restart(1) راه‌اندازی مجدد یک یا چند کانتینر.
podman-rm(1) حذف یک یا چند کانتینر.
podman-rmi(1) حذف یک یا چند ایمیج ذخیره‌شده محلی.
podman-run(1) اجرای یک دستور در یک کانتینر جدید.
podman-save(1) ذخیره یک ایمیج در یک آرشیو کانتینر.
podman-start(1) شروع یک یا چند کانتینر.
podman-stop(1) متوقف کردن یک یا چند کانتینر در حال اجرا.
podman-system(1) مدیریت پادمن.
podman-tag(1) افزودن یک نام اضافی (تگ) به یک ایمیج محلی.
podman-top(1) نمایش فرآیندهای در حال اجرای یک کانتینر.
podman-unpause(1) از حالت تعلیق خارج کردن (unpause) یک یا چند کانتینر.
podman-version(1) نمایش اطلاعات نسخه پادمن.
podman-volume(1) مدیریت حجم‌ها (Volumes).

containers.conf ($HOME/.config/containers/containers.conf)

پادمن مقادیر پیش‌فرض توکاری برای گزینه‌های خط فرمان دارد. این مقادیر پیش‌فرض را می‌توان با استفاده از فایل‌های پیکربندی containers.conf بازنویسی کرد.

کاربران می‌توانند با ایجاد فایل $HOME/.config/containers/containers.conf مقادیر پیش‌فرض را تغییر دهند. پادمن در صورت وجود این فایل، پیش‌فرض‌های توکار خود را با فیلدهای مشخص‌شده در آن ادغام می‌کند. فیلدهای مشخص‌شده در فایل کاربر، مقادیر پیش‌فرض توکار را بازنویسی می‌کنند.

اگر هیچ فایل containers.conf یافت نشود، پادمن از مقادیر پیش‌فرض توکار استفاده می‌کند.

podman(1), podman-system-service(1), containers.conf(5)

برای راه‌حل‌های مربوط به مشکلات متداول، podman-troubleshooting(7) را ببینید.