lxc-create(1) lxc-create(1)

lxc-create - ساخت یک کانتینر جدید در سامانه کانتینرسازی LXC


lxc-create
{-n name} [-f config_file] {-t template} [-B backingstore] [-- template-options]

دستور lxc-create یک شیء سیستمی ایجاد می‌کند که در آن اطلاعات پیکربندی نگهداری شده و اطلاعات کاربر نیز می‌تواند در آن ذخیره گردد. شناسه name برای مشخص کردن کانتینر جهت استفاده با دستورات مختلف lxc به کار می‌رود.

این شیء پوشه‌ای است که در مسیر /var/lib/lxc ایجاد شده و با نام خود شناسایی می‌شود.

این شیء در واقع تعریف منابع مختلفی است که یک برنامه کاربردی می‌تواند از آن‌ها استفاده کرده یا آن‌ها را ببیند. هرچه فایل پیکربندی حاوی اطلاعات بیشتری باشد، کانتینر ایزوله‌تر شده و برنامه بیشتر در محیط امن محدود (jail) می‌گردد.

اگر فایل پیکربندی config_file مشخص نشود، کانتینر با سطوح ایزولاسیون پیش‌فرض ایجاد خواهد شد: فرایندها (processes)، ارتباطات بین‌فرایندی سیس‌وی (SysV IPC) و نقاط اتصال (mount points).

مشخص کردن فایل پیکربندی جهت تنظیم قابلیت‌های مجازی‌سازی و ایزولاسیون کانتینر.
عبارت 'template' نام کوتاه یکی از اسکریپت‌های موجود 'lxc-template' است که توسط lxc-create فراخوانی می‌شود؛ مانند busybox، debian، fedora، ubuntu یا sshd. برای مشاهده جزئیات ساختار اسکریپت مورد انتظار، به نمونه‌های موجود در مسیر /usr/share/lxc/templates مراجعه کنید. همچنین می‌توان مسیر کامل یک اسکریپت الگوی اجرایی را به عنوان پارامتر ارسال کرد. مقدار "none" را می‌توان برای وادار کردن lxc-create به صرف‌نظر از ساخت rootfs استفاده کرد.
نوع فضای ذخیره‌سازی پشتیبان ('backingstore') یکی از موارد 'dir'، 'lvm'، 'loop'، 'btrfs'، 'zfs'، 'rbd' یا 'best' است. مقدار پیش‌فرض 'dir' است؛ به این معنی که سیستم‌فایل ریشه کانتینر پوشه‌ای در مسیر /var/lib/lxc/container/rootfs خواهد بود. این نوع فضای ذخیره‌سازی اجازه می‌دهد گزینه اختیاری --dir ROOTFS مشخص شود؛ به این معنی که rootfs کانتینر باید به جای مسیر پیش‌فرض، در مسیر مشخص‌شده قرار گیرد. (نوع ذخیره‌سازی 'none' نام مستعاری برای 'dir' است.) اگر 'btrfs' مشخص شود، سیستم‌فایل مقصد باید btrfs باشد و rootfs کانتینر به عنوان یک ساب‌والیوم (subvolume) جدید ساخته خواهد شد. این کار امکان ایجاد کلون‌های مبتنی بر اسنپ‌شات (snapshot) را فراهم می‌کند، اما همچنین باعث می‌شود دستور rsync --one-filesystem با آن به عنوان یک سیستم‌فایل جداگانه رفتار کند. اگر فضای ذخیره‌سازی 'lvm' باشد، یک دستگاه بلوکی lvm استفاده می‌شود و گزینه‌های تکمیلی زیر در دسترس خواهند بود: گزینه --lvname lvname1 یک LV به نام lvname1 به جای نام پیش‌فرض (که همان نام کانتینر است) ایجاد می‌کند. گزینه --vgname vgname1 این LV را در گروه حجم vgname1 به جای پیش‌فرض (lxc) ایجاد می‌کند. گزینه --thinpool thinpool1 این LV را به عنوان یک حجم با تخصیص پویا (thin-provisioned) در استخر thinpool1 به جای پیش‌فرض (lxc) می‌سازد. گزینه --fstype FSTYPE یک سیستم‌فایل از نوع FSTYPE به جای نوع پیش‌فرض (که ext4 است) روی LV می‌سازد. گزینه --fssize SIZE یک LV (و سیستم‌فایل) با اندازه SIZE به جای مقدار پیش‌فرض (که 1G است) ایجاد می‌کند.

اگر فضای ذخیره‌سازی 'loop' باشد، می‌توانید از --fstype FSTYPE و --fssize SIZE همانند 'lvm' استفاده کنید. مقادیر پیش‌فرض این گزینه‌ها مشابه 'lvm' است.

اگر فضای ذخیره‌سازی 'rbd' باشد، به یک پیکربندی معتبر در ceph.conf و یک ceph.client.admin.keyring تعریف‌شده نیاز خواهید داشت. می‌توانید گزینه‌های زیر را مشخص کنید: گزینه --rbdname RBDNAME یک دستگاه بلوکی به نام RBDNAME به جای نام پیش‌فرض (که نام کانتینر است) ایجاد می‌کند. گزینه --rbdpool POOL دستگاه بلوکی را در استخری به نام POOL به جای مقدار پیش‌فرض ('lxc') می‌سازد. گزینه --rbduser RBDUSER کاربر ceph با نام RBDUSER را برای ساخت دستگاه بلوکی به جای کاربر پیش‌فرض ('admin') مشخص می‌کند.

اگر فضای ذخیره‌سازی 'best' باشد، lxc به ترتیب btrfs، سپس zfs، سپس lvm و در نهایت فضای ذخیره‌سازی دایرکتوری (dir) را امتحان خواهد کرد.

این گزینه template-options را به عنوان آرگومان به الگو ارسال می‌کند. برای مشاهده فهرست گزینه‌های پشتیبانی‌شده توسط الگو، می‌توانید دستور زیر را اجرا کنید: lxc-create -t TEMPLATE -h.

این گزینه‌ها میان بیشتر دستورات lxc مشترک هستند.

-?, -h, --help
نمایش پیام راهنمای کامل‌تر نسبت به حالت معمول.
نمایش پیام نحوه استفاده از دستور.
بی‌صدا کردن و جلوگیری از نمایش پیام‌های خروجی.
استفاده از یک مسیر جایگزین برای ذخیره کانتینر. مقدار پیش‌فرض /var/lib/lxc است.
هدایت خروجی گزارش‌ها به پرونده جایگزین FILE. حالت پیش‌فرض عدم ثبت لاگ در فایل است.
تنظیم اولویت ثبت گزارش‌ها روی LEVEL. اولویت پیش‌فرض لاگ‌ها ERROR است. مقادیر مجاز عبارتند از: FATAL، ALERT، CRIT، WARN، ERROR، NOTICE، INFO، DEBUG، TRACE.

توجه داشته باشید که این گزینه اولویت وقایع ثبت‌شده در پرونده لاگ جایگزین را تنظیم می‌کند و تاثیری بر وقایع ERROR چاپ‌شده در خروجی خطای استاندارد (stderr) ندارد.

استفاده از شناسه کانتینر NAME. قالب شناسه کانتینر یک رشته الفبایی-عددی است.
مشخص کردن فایل پیکربندی جهت تنظیم قابلیت‌های مجازی‌سازی و ایزولاسیون کانتینر.

در صورت وجود، این فایل پیکربندی حتی اگر از قبل یک فایل پیکربندی در کانتینر ساخته‌شده (از طریق lxc-create) وجود داشته باشد، استفاده خواهد شد.

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

همان‌طور که در پیام ذکر شده است، شما در حال تلاش برای ایجاد کانتینری هستید که کانتینری هم‌نام با آن در سیستم وجود دارد. می‌توانید از دستور lxc-ls برای مشاهده فهرست کانتینرهای موجود در سیستم استفاده کنید.

lxc(7), lxc-create(1), lxc-copy(1), lxc-destroy(1), lxc-start(1), lxc-stop(1), lxc-execute(1), lxc-console(1), lxc-monitor(1), lxc-wait(1), lxc-cgroup(1), lxc-ls(1), lxc-info(1), lxc-freeze(1), lxc-unfreeze(1), lxc-attach(1), lxc.conf(5)

2026-08-01