podman-volume.unit(5) File Formats Manual podman-volume.unit(5)

podman-volume.unit - فایل‌های واحد systemd برای مدیریت حجم‌های کانتینر با استفاده از Podman Quadlet

name.volume

فایل‌های حجم (Volume) با پسوند .volume نام‌گذاری می‌شوند و شامل بخش [Volume] هستند که حجم نام‌گذاری‌شده‌ی Podman را توصیف می‌کند. سرویس ایجادشده یک دستور یک‌باره است که از وجود حجم روی میزبان اطمینان حاصل کرده و در صورت نیاز آن را ایجاد می‌کند.

به‌طور پیش‌فرض، حجم Podman هم‌نام با واحد (unit) خواهد بود اما با پیشوند systemd-؛ یعنی برای یک فایل حجم با نام $NAME.volume، حجم ایجادشده‌ی Podman با نام systemd-$NAME و فایل سرویس ایجادشده با نام $NAME-volume.service نام‌گذاری می‌شود. گزینه VolumeName اجازه می‌دهد این نام پیش‌فرض با یک نام ارائه‌شده توسط کاربر بازنویسی شود.

استفاده از واحدهای حجم به کانتینرها اجازه می‌دهد به حجم‌هایی که به‌طور خودکار از پیش ایجاد شده‌اند وابسته باشند. این موضوع به‌ویژه هنگام استفاده از گزینه‌های خاص برای کنترل نحوه ساخت حجم جالب توجه است، زیرا در غیر این صورت Podman حجم‌ها را با گزینه‌های پیش‌فرض ایجاد می‌کند.

فایل .volume هنگام بوت یا بارگذاری مجدد توسط podman-system-generator پردازش شده و یک .service در systemd ایجاد می‌کند که دستور podman volume create را اجرا می‌نماید.

گزینه‌های معتبر برای بخش [Volume] در زیر فهرست شده‌اند:

گزینه‌های [Volume] معادل در podman volume create
ContainersConfModule=/etc/nvd.conf --module=/etc/nvd.conf
Copy=true --opt copy
Device=tmpfs --opt device=tmpfs
Driver=image --driver=image
GlobalArgs=--log-level=debug --log-level=debug
Group=192 --opt group=192
Image=quay.io/centos/centos:latest --opt image=quay.io/centos/centos:latest
Label="foo=bar" --label "foo=bar"
Options=XYZ --opt "o=XYZ"
PodmanArgs=--driver=image --driver=image
Type=type نوع فایل‌سیستم Device
User=123 --opt uid=123
VolumeName=foo podman volume create foo

کلیدهای پشتیبانی‌شده در بخش [Volume] عبارتند از:

ماژول مشخص‌شده‌ی containers.conf(5) را بارگذاری می‌کند.

این گزینه می‌تواند چندین بار درج شود.

در صورت فعال بودن، محتوای ایمیج واقع در نقطه اتصال (mount point) حجم در اولین اجرا درون حجم کپی می‌شود.

مسیر دستگاهی (device) که برای حجم متصل (mount) می‌شود.

نام درایور حجم را مشخص می‌کند. در صورت تنظیم روی image، کلید Image نیز باید مشخص شود.

این معادل گزینه --driver در Podman است.

این کلید حاوی فهرستی از آرگومان‌ها است که در فایل ایجادشده مستقیماً پس از دستور podman قرار می‌گیرند. این کلید می‌تواند برای دسترسی به ویژگی‌هایی از Podman استفاده شود که در حالت عادی توسط مولد (generator) پشتیبانی نمی‌شوند. از آنجا که مولد از تداخلات و رفتارهای غیرمنتظره‌ی احتمالی ناشی از این آرگومان‌ها آگاه نیست، استفاده از این گزینه توصیه نمی‌شود.

ساختار این مقدار به‌صورت فهرستی از آرگومان‌ها است که با فاصله (space) از هم جدا شده‌اند و در صورت نیاز می‌توان هر یک را به‌صورت جداگانه escape کرد تا شامل فاصله‌ها و سایر نویسه‌های کنترلی شوند.

این کلید می‌تواند چندین بار درج شود.

شناسه عددی گروه (GID) یا نام گروه روی میزبان برای استفاده به‌عنوان گروه حجم.

هنگامی که Driver روی image تنظیم شده باشد، ایمیجی را که حجم بر پایه آن است مشخص می‌کند. توصیه می‌شود به دلایل کارایی و پایداری، به‌جای نام کوتاه از نام کامل و معتبر ایمیج (fully qualified image name) استفاده شود.

قالب نام همانند قالبی است که به podman pull داده می‌شود. بنابراین از :tag یا چکیده‌ها (digests) برای تضمین نسخه خاصی از ایمیج پشتیبانی می‌کند.

حالت خاص:

•
اگر name ایمیج با .image خاتمه یابد، Quadlet از ایمیجی استفاده خواهد کرد که توسط فایل .image متناظر دریافت (pull) شده است و سرویس systemd ایجادشده حاوی یک وابستگی به $name-image.service (یا نام سرویس تنظیم‌شده در فایل .image) خواهد بود. توجه: فایل .image متناظر باید وجود داشته باشد.

یک یا چند برچسب (label) OCI روی حجم تنظیم می‌کند. قالب آن به‌صورت فهرستی از موارد key=value مشابه با Environment است.

این کلید می‌تواند چندین بار درج شود.

گزینه‌های اتصال (mount) مورد استفاده برای یک فایل‌سیستم، همانند گزینه -o در دستور mount(8).

این کلید حاوی فهرستی از آرگومان‌ها است که در فایل ایجادشده مستقیماً به انتهای دستور podman اضافه می‌شوند. این کلید می‌تواند برای دسترسی به قابلیت‌هایی از Podman که توسط مولد پشتیبانی نمی‌شوند استفاده شود. از آنجا که مولد از تداخلات غیرمنتظره احتمالی این آرگومان‌ها بی‌اطلاع است، استفاده از این گزینه توصیه نمی‌شود.

ساختار این مقدار به‌صورت فهرستی از آرگومان‌ها است که با فاصله از هم جدا شده‌اند و در صورت نیاز می‌توان هر یک را به‌صورت جداگانه escape کرد تا شامل فاصله‌ها و سایر نویسه‌های کنترلی شوند.

این کلید می‌تواند چندین بار درج شود.

نوع فایل‌سیستم Device همانند گزینه -t در دستور mount(8).

شناسه عددی کاربر (UID) یا نام کاربر روی میزبان برای استفاده به‌عنوان مالک حجم.

نام (اختیاری) حجم Podman. در صورت عدم تعیین، مقدار پیش‌فرض هم‌نام با واحد اما با پیشوند systemd- خواهد بود؛ یعنی یک فایل $name.volume یک حجم Podman به نام systemd-$name ایجاد می‌کند تا از تداخل با حجم‌های مدیریت‌شده توسط کاربر جلوگیری شود.

واحد حجم کمینه:

[Volume]
VolumeName=mydata
Label=app=data
User=1000
Group=1000

واحد حجم مبتنی بر ایمیج:

[Volume]
VolumeName=html
Driver=image
Image=quay.io/centos/centos:latest
Copy=true

systemd.unit(5), podman-systemd.unit(5), podman-volume-create(1)