| podman-container-restore(1) | General Commands Manual | podman-container-restore(1) |
نام (NAME)
podman-container-restore - بازیابی یک یا چند کانتینر از یک نقطه بررسی
خلاصه دستور (SYNOPSIS)
podman container restore [options] name [...]
توضیحات (DESCRIPTION)
دستور podman container restore یک کانتینر را از یک نقطه بررسی (checkpoint) کانتینر یا ایمیج نقطه بررسی بازیابی میکند. از شناسههای کانتینر، شناسههای ایمیج یا نامها به عنوان ورودی استفاده میشود.
گزینهها (OPTIONS)
--all, -a
بازیابی
تمام
کانتینرهای
دارای نقطه
بررسی.
مقدار
پیشفرض false
است.
مهم: این
گزینه به
نام یا
شناسه
کانتینر به
عنوان
آرگومان
ورودی نیاز
ندارد.
--file-locks
بازیابی
یک
کانتینر
به همراه
قفلهای
فایل. این
گزینه برای
بازیابی
قفلهای
فایل از یک
ایمیج نقطه
بررسی
الزامی است.
اگر ایمیج
نقطه بررسی
حاوی
قفلهای
فایل
نباشد، این
گزینه
نادیده
گرفته
میشود.
پیشفرض
بازیابی
نکردن
قفلهای
فایل است.
مقدار
پیشفرض false
است.
--ignore-rootfs
اگر یک
کانتینر
از یک فایل tar.gz
نقطه بررسی
بازیابی
شود، ممکن
است حاوی
تمام
تغییرات
سیستمفایل
ریشه نیز
باشد. با
استفاده از
--ignore-rootfs
میتوان
اعمال این
تغییرات
سیستمفایل
ریشه را روی
کانتینر
بازیابیشده
صراحتاً
غیرفعال
کرد.
مقدار
پیشفرض false
است.
مهم: این
گزینه تنها
در ترکیب با
--import, -i در
دسترس
است.
--ignore-static-ip
اگر کانتینر با --ip راهاندازی شده باشد، کانتینر بازیابیشده نیز تلاش میکند از همان نشانی IP استفاده کند و در صورتی که آن نشانی IP از قبل در حال استفاده باشد، بازیابی با شکست مواجه میشود. این حالت میتواند زمانی رخ دهد که یک کانتینر چندین بار از یک نقطه بررسی برونبریشده با --name, -n بازیابی شود.
استفاده از --ignore-static-ip به پودمن میگوید که اگر نشانی IP در زمان ایجاد کانتینر با --ip پیکربندی شده بود، آن را نادیده بگیرد.
مقدار پیشفرض false است.
--ignore-static-mac
اگر کانتینر با --mac-address راهاندازی شده باشد، کانتینر بازیابیشده نیز تلاش میکند از همان نشانی MAC استفاده کند و در صورتی که آن نشانی MAC از قبل در حال استفاده باشد، بازیابی ناموفق خواهد بود. این حالت زمانی ممکن است رخ دهد که یک کانتینر چندین بار از یک نقطه بررسی برونبریشده با --name, -n بازیابی شود.
استفاده از --ignore-static-mac به پودمن میگوید که اگر نشانی MAC در زمان ایجاد کانتینر با --mac-address پیکربندی شده بود، آن را نادیده بگیرد.
مقدار پیشفرض false است.
--ignore-volumes
این گزینه
باید در
ترکیب با
گزینه --import, -i
استفاده
شود. هنگام
بازیابی
کانتینرها
از یک فایل tar.gz
نقطه بررسی
با این
گزینه،
محتوای
حجمهای
مرتبط
بازیابی
نمیشود.
مقدار
پیشفرض false
است.
--import, -i=file
درونریزی
یک فایل tar.gz
نقطه بررسی
که توسط
پودمن
برونبری
شده است. از
این گزینه
میتوان
برای
درونریزی
یک
کانتینر
دارای نقطه
بررسی از
میزبانی
دیگر
استفاده
کرد.
مهم: این
گزینه به
نام یا
شناسه
کانتینر به
عنوان
آرگومان
ورودی نیاز
ندارد.
در حین درونریزی یک فایل نقطه بررسی، پودمن همان زمان اجرای کانتینری (container runtime) را انتخاب میکند که در هنگام ایجاد نقطه بررسی استفاده شده بود. این امر بهویژه در صورتی اهمیت دارد که یک زمان اجرای کانتینر خاص (غیرپیشفرض) در هنگام ایجاد کانتینر مشخص شده باشد. همچنین در صورتی که زمان اجرای کانتینر مشخصشده در حین بازیابی با زمان اجرای استفادهشده برای ایجاد کانتینر مطابقت نداشته باشد، پودمن عملیات بازیابی را متوقف میکند.
--import-previous=file
درونریزی
یک فایل tar.gz
پیشنقطه
بررسی که
توسط پودمن
برونبری
شده است. این
گزینه باید
همراه با -i
یا --import
استفاده
شود. این
گزینه تنها
روی runc 1.0-rc3 یا
بالاتر
کار میکند.
مهم: این
گزینه در
کلاینت
ریموت، از
جمله
ماشینهای Mac
و Windows
(بهاستثنای
WSL2) پشتیبانی
نمیشود.
--keep, -k
تمام
فایلهای
موقت گزارش
و آماری
ایجادشده
توسط CRIU در
حین ایجاد
نقطه بررسی
و همچنین
بازیابی را
نگه
میدارد.
این
فایلها در
صورت شکست
عملیات
بازیابی،
برای
اشکالزدایی
بیشتر حذف
نمیشوند.
اگر
بازیابی
موفقیتآمیز
باشد، این
فایلها از
نظر تئوری
نیازی
نیستند،
اما اگر به
این
فایلها
نیاز باشد
پودمن
میتواند
آنها را
برای تحلیل
بیشتر نگه
دارد. این
موارد شامل
دایرکتوری
نقطه بررسی
به همراه
تمام
فایلهای
ایجادشده
در طول
فرایند
ایجاد نقطه
بررسی
میشود.
فضای مورد
نیاز
دایرکتوری
نقطه بررسی
تقریباً
برابر با
مقدار
حافظه مورد
نیاز
فرآیندهای
درون
کانتینر
دارای نقطه
بررسی است.
بدون گزینه
--keep, -k، نقطه
بررسی مصرف
شده و دیگر
قابل
استفاده
مجدد
نخواهد بود.
مقدار
پیشفرض false
است.
--latest, -l
بهجای
ارائه
شناسه یا
نام
کانتینر،
از آخرین
کانتینر
ایجادشده
استفاده
میکند.
مقدار
پیشفرض false
است.
مهم: این
گزینه در
کلاینت
ریموت
پودمن، از
جمله
ماشینهای Mac
و Windows
(بهاستثنای
WSL2) در دسترس
نیست. این
گزینه به
نام یا
شناسه
کانتینر به
عنوان
آرگومان
ورودی نیاز
ندارد.
--name, -n=name
اگر یک کانتینر از یک فایل tar.gz نقطه بررسی بازیابی شود، امکان تغییر نام آن با --name, -n وجود دارد. از این طریق میتوان یک کانتینر را چندین بار با نامهای مختلف از یک نقطه بررسی بازیابی کرد.
اگر از
گزینه --name, -n
استفاده
شود، پودمن
تلاشی برای
تخصیص همان
نشانی IP که
کانتینر
پیش از نقطه
بررسی
استفاده
میکرد
نمیکند؛
زیرا هر
نشانی IP تنها
یک بار قابل
استفاده
است و
کانتینر
بازیابیشده
نشانی IP
دیگری
دریافت
خواهد کرد.
این همچنین
بدان
معناست که
گزینه --name, -n
نمیتواند
در ترکیب با
--tcp-established
استفاده
شود.
مهم: این
گزینه تنها
برای یک
ایمیج نقطه
بررسی یا در
ترکیب با --import,
-i در دسترس
است.
--pod=name
بازیابی
یک کانتینر
درون پاد با
نام name. پاد
مقصد برای
این
بازیابی
باید
فضاهای نام
مشترک
یکسانی با
پادی داشته
باشد که
کانتینر از
آن نقطه
بررسی شده
است (به podman pod create --share
مراجعه
کنید).
مهم: این
گزینه تنها
برای یک
ایمیج نقطه
بررسی یا در
ترکیب با --import,
-i در دسترس
است.
این گزینه حداقل به CRIU 3.16 نیاز دارد.
--print-stats
چاپ آمار مربوط به بازیابی کانتینر(ها). خروجی در قالب یک آرایه JSON ارائه میشود و حاوی اطلاعاتی در مورد مدت زمان لازم برای عملیات مختلف بازیابی است. بسیاری از آمارهای بازیابی توسط CRIU ایجاد شده و صرفاً به پودمن منتقل میشوند. اطلاعات زیر در آرایه JSON ارائه میشود:
- podman_restore_duration: مدت زمان کل (به میکروثانیه) مورد نیاز برای بازیابی تمام نقاط بررسی.
- runtime_restore_duration: مدت زمانی (به میکروثانیه) که زمان اجرای کانتینر برای بازیابی نقطه بررسی نیاز داشته است.
- forking_time: مدت زمانی (به میکروثانیه) که CRIU برای ایجاد (fork کردن) تمام فرآیندها در کانتینر بازیابیشده نیاز داشته است (اندازهگیریشده توسط CRIU).
- restore_time: مدت زمانی (به میکروثانیه) که CRIU برای بازیابی تمام فرآیندها در کانتینر نیاز داشته است (اندازهگیریشده توسط CRIU).
- pages_restored: تعداد صفحات حافظه بازیابیشده (اندازهگیریشده توسط CRIU).
مقدار پیشفرض false است.
--publish, -p=port
پورتهایی را که کانتینر منتشر میکند (همانطور که در زمان راهاندازی اولیه کانتینر پیکربندی شده بود) با مجموعه جدیدی از قوانین هدایت پورت جایگزین میکند.
برای
جزئیات
بیشتر، podman run --publish
را ببینید.
مهم: این
گزینه تنها
برای یک
ایمیج نقطه
بررسی یا در
ترکیب با --import,
-i در دسترس
است.
--tcp-close
بازیابی
یک
کانتینر و
بستن تمام
اتصالات TCP.
این گزینه
زمانی مفید
است که پس از
بازیابی به
اتصالات TCP
نیازی
نباشد یا
اتصالات
توسط
برنامه
مجدداً
برقرار
شوند. اگر
ایمیج نقطه
بررسی با --tcp-close
ایجاد شده
باشد، این
گزینه باید
در حین
بازیابی
استفاده
شود.
مقدار
پیشفرض false
است.
--tcp-established
بازیابی
یک
کانتینر
به همراه
اتصالات TCP
برقرارشده.
اگر ایمیج
نقطه بررسی
حاوی
اتصالات TCP
برقرارشده
باشد، این
گزینه در
حین
بازیابی
الزامی است.
اگر ایمیج
نقطه بررسی
حاوی
اتصالات TCP
برقرارشده
نباشد، این
گزینه
نادیده
گرفته
میشود.
پیشفرض،
بازیابی
نکردن
کانتینرها
با اتصالات
TCP برقرارشده
است.
مقدار
پیشفرض false
است.
مثالها (EXAMPLES)
بازیابی کانتینر "mywebserver".
# podman container restore mywebserver
درونریزی یک فایل نقطه بررسی و یک فایل پیشنقطه بررسی.
# podman container restore --import-previous pre-checkpoint.tar.gz --import checkpoint.tar.gz
راهاندازی کانتینر "mywebserver". ایجاد یک نقطه بررسی از کانتینر و برونبری آن. بازیابی کانتینر با محدودههای پورت متفاوت از فایل برونبریشده.
$ podman run --rm -p 2345:80 -d webserver # podman container checkpoint -l --export=dump.tar # podman container restore -p 5432:8080 --import=dump.tar
راهاندازی یک کانتینر با نام "foobar-1". ایجاد یک ایمیج نقطه بررسی "foobar-checkpoint". بازیابی کانتینر از ایمیج نقطه بررسی با نامی متفاوت.
# podman run --name foobar-1 -d webserver # podman container checkpoint --create-image foobar-checkpoint foobar-1 # podman inspect foobar-checkpoint # podman container restore --name foobar-2 foobar-checkpoint # podman container restore --name foobar-3 foobar-checkpoint
همچنین ببینید (SEE ALSO)
podman(1), podman-container-checkpoint(1), podman-run(1), podman-pod-create(1), criu(8)
تاریخچه (HISTORY)
سپتامبر ۲۰۱۸، در ابتدا توسط Adrian Reber به نشانی areber@redhat.com گردآوری شد ⟨mailto:areber@redhat.com⟩