podman-image-scp(1) General Commands Manual podman-image-scp(1)

podman-image-scp - کپی امن ایمیج بین میزبان‌ها در پادمن

podman image scp [options] name[:tag]

دستور podman image scp ایمیج‌های کانتینر را بین میزبان‌ها روی یک شبکه کپی می‌کند. این دستور می‌تواند ایمیج‌ها را به میزبان دوردست، از میزبان دوردست و همچنین بین دو میزبان دوردست کپی کند. نکته: نماد :: بسته به اینکه پادمن در حال ذخیره یا بارگذاری باشد، برای تعیین نام ایمیج استفاده می‌شود. همچنین می‌توان ایمیج‌ها را از ذخیره‌ساز rootful به rootless روی همان سیستم بدون استفاده از sshd منتقل کرد. این ویژگی روی کلاینت دوردست، از جمله سیستم‌های مک و ویندوز (به‌جز WSL2) پشتیبانی نمی‌شود.

این یک کپی مستقیم بین دو ذخیره‌ساز نیست. ایمیج درون یک بایگانی ذخیره می‌شود (با استفاده از podman save)، فایل بایگانی انتقال می‌یابد (مثلاً از طریق SSH)، و سپس در مقصد بارگذاری می‌شود. در نتیجه، ارجاعات دایجست به حباب‌های فشرده‌شده اصلی حفظ نمی‌شوند (به عنوان مثال podman pull image@digest و به دنبال آن podman image scp و سپس بررسی با آن دایجست ممکن است کار نکند). برای جریان‌های کاری معمول، استفاده از یک رجیستری (ارسال از مبدا با push، دریافت در مقصد با pull) اغلب ترجیح داده می‌شود.

podman image scp [GLOBAL OPTIONS]

podman image scp [OPTIONS] NAME[:TAG] [HOSTNAME::]

podman image scp [OPTIONS] [HOSTNAME::]IMAGENAME

podman image scp [OPTIONS] [HOSTNAME::]IMAGENAME [HOSTNAME::]

قالب ارائه‌شده به podman save هنگام ایجاد بایگانی انتقال. مقادیر مجاز عبارتند از oci-archive و docker-archive. در صورت حذف، podman save از مقدار پیش‌فرض خود (docker-archive) استفاده می‌کند.

تنها قالب‌های بایگانی (tar) شامل oci-archive و docker-archive پشتیبانی می‌شوند. قالب‌های دایرکتوری (oci-dir، docker-dir) پشتیبانی نمی‌شوند زیرا انتقال یک فایل منفرد را ارسال می‌کند؛ مسیر دوردست از ساختارهای دایرکتوری پشتیبانی نمی‌کند.

چاپ راهنمای استفاده

جلوگیری از چاپ خروجی

کپی ایمیج مشخص‌شده به ذخیره‌ساز محلی:

$ podman image scp alpine
Loaded image: docker.io/library/alpine:latest

کپی ایمیج مشخص‌شده از ذخیره‌ساز محلی به اتصال دوردست:

$ podman image scp alpine Fedora::/home/charliedoern/Documents/alpine
Getting image source signatures
Copying blob 72e830a4dff5 done
Copying config 85f9dc67c7 done
Writing manifest to image destination
Storing signatures
Loaded image: docker.io/library/alpine:latest

کپی ایمیج مشخص‌شده از یک اتصال دوردست به اتصال دوردست دیگر:

$ podman image scp Fedora::alpine RHEL::
Loaded image: docker.io/library/alpine:latest

کپی ایمیج مشخص‌شده از طریق ssh به ذخیره‌ساز محلی:

$ podman image scp charliedoern@192.168.68.126:22/run/user/1000/podman/podman.sock::alpine
WARN[0000] Unknown connection name given. Please use system connection add to specify the default remote socket location
Getting image source signatures
Copying blob 9450ef9feb15 [--------------------------------------] 0.0b / 0.0b
Copying config 1f97f0559c done
Writing manifest to image destination
Storing signatures
Loaded image: docker.io/library/alpine:latest

کپی ایمیج مشخص‌شده از حساب کاربری ریشه (root) به ذخیره‌ساز محلی حساب‌های کاربری:

$ sudo podman image scp root@localhost::alpine username@localhost::
Copying blob e2eb06d8af82 done
Copying config 696d33ca15 done
Writing manifest to image destination
Storing signatures
Getting image source signatures
Copying blob 5eb901baf107 skipped: already exists
Copying config 696d33ca15 done
Writing manifest to image destination
Storing signatures
Loaded image: docker.io/library/alpine:latest

کپی ایمیج مشخص‌شده از حساب ریشه به ذخیره‌ساز محلی:

$ sudo podman image scp root@localhost::alpine
Copying blob e2eb06d8af82 done
Copying config 696d33ca15 done
Writing manifest to image destination
Storing signatures
Getting image source signatures
Copying blob 5eb901baf107
Copying config 696d33ca15 done
Writing manifest to image destination
Storing signatures
Loaded image: docker.io/library/alpine:latest

کپی ایمیج به ذخیره‌ساز rootful با قالب بایگانی OCI:

$ podman image scp --format oci-archive quay.io/fedora/fedora:43 root@localhost::

کپی ایمیج به میزبان دوردست (در صورت حذف --format از قالب پیش‌فرض استفاده می‌شود):

$ podman image scp alpine root@myserver::

podman(1), podman-load(1), podman-save(1), podman-remote(1), podman-system-connection-add(1), containers.conf(5), containers-transports(5)

ژوئیه ۲۰۲۱، در ابتدا توسط Charlie Doern به نشانی cdoern@redhat.com نوشته شد ⟨mailto:cdoern@redhat.com⟩