| buildah-push(1) | General Commands Manual | buildah-push(1) |
نام (NAME)
buildah-push - ارسال و بارگذاری ایمیج به رجیستری یا مقصد مشخص
خلاصه دستور (SYNOPSIS)
buildah push [گزینهها] image [destination]
توضیحات (DESCRIPTION)
ارسال (push) یک ایمیج از فضای ذخیرهسازی محلی به یک مقصد مشخص، به همراه فشردهسازی یا استخراج لایهها در صورت نیاز.
شناسه ایمیج (imageID)
ایمیج ذخیرهشده در فضای ذخیرهسازی محلی کانتینر (container/storage).
مقصد (DESTINATION)
شناسه DESTINATION مکانی است که ایمیج کانتینر به آن ارسال (push) میشود. این گزینه از تمامی پروتکلهای انتقال موجود در containers-transports(5) پشتیبانی میکند (مثالهای زیر را ببینید). اگر هیچ پروتکل انتقالی مشخص نشود، از روش انتقال docker (یعنی رجیستری کانتینر) استفاده میشود.
گزینهها (OPTIONS)
--all
اگر ایمیج مشخصشده یک فهرست مانیفست (manifest list) یا نمایه ایمیج (image index) باشد، علاوه بر خود فهرست یا نمایه، تمام ایمیجهای موجود در آن نیز ارسال میشوند.
--authfile path
مسیر فایل احراز هویت. پیشفرض ${XDG_RUNTIME_DIR}/containers/auth.json است. برای اطلاعات بیشتر به containers-auth.json(5) مراجعه کنید. این فایل با استفاده از buildah login ایجاد میشود.
اگر وضعیت احراز هویت در آنجا یافت نشود، فایل $HOME/.docker/config.json که با docker login تنظیم شده بررسی میگردد.
نکته: میتوانید با تنظیم متغیر محیطی REGISTRY_AUTH_FILE مسیر پیشفرض فایل احراز هویت را بازنویسی کنید: export REGISTRY_AUTH_FILE=path
--cert-dir path
استفاده از گواهیهای موجود در path (*.crt, *.cert, *.key) برای اتصال به رجیستری. دایرکتوری پیشفرض گواهیها /etc/containers/certs.d است.
--compression-format format
فرمت فشردهسازی مورد استفاده را مشخص میکند. مقادیر پشتیبانیشده عبارتند از: gzip، zstd و zstd:chunked. گزینه zstd:chunked با رمزگذاری ایمیجها ناسازگار است و در این حالت همراه با یک پیام هشدار، همانند zstd با آن رفتار خواهد شد. اگر مشخص نشود، فرمت از تنظیم compression_format در فایل containers.conf خوانده میشود.
--compression-level level
سطح فشردهسازی مورد استفاده را مشخص میکند. این مقدار وابسته به الگوریتم فشردهسازی استفادهشده است؛ برای مثال برای zstd مقادیر مجاز در بازه ۱ تا ۲۰ (شامل هر دو) و برای gzip در بازه ۱ تا ۹ (شامل هر دو) است. اگر مشخص نشود، سطح از تنظیم compression_level در فایل containers.conf خوانده میشود.
--creds creds
نام کاربری و گذرواژه [username[:password]] برای احراز هویت در رجیستری (در صورت نیاز). اگر یک یا هر دو مقدار ارائه نشوند، اعلان خط فرمان ظاهر خواهد شد و میتوان مقدار را وارد کرد. گذرواژه بدون بازتاب کاراکترها وارد میشود.
--digestfile Digestfile
پس از کپی ایمیج، شناسه یکتای هش (digest) ایمیج حاصل را در فایل مشخصشده ذخیره میکند.
--disable-compression, -D
عدم فشردهسازی کپی لایههای سیستم فایل که قرار است ارسال شوند.
--encrypt-layer layer(s)
لایه(ها) برای رمزگذاری: اندیس لایهها با شروع از صفر و با پشتیبانی از اندیسگذاری منفی (به عنوان مثال 0 اولین لایه و 1- آخرین لایه است). در صورت عدم تعیین، اگر سوییچ encryption-key مشخص شده باشد، تمامی لایهها رمزگذاری خواهند شد.
--encryption-key key
فرمت [protocol:keyfile] پروتکل رمزگذاری را مشخص میکند که میتواند JWE (RFC7516)، PGP (RFC4880) و PKCS7 (RFC2315) باشد و همچنین کلیدهای مورد نیاز برای رمزگذاری ایمیج را تعیین میکند. برای مثال: jwe:/path/to/key.pem یا pgp:admin@example.com یا pkcs7:/path/to/x509-file.
--force-compression
در صورت تنظیم، ارسال ایمیج از الگوریتم فشردهسازی مشخصشده استفاده میکند حتی اگر مقصد در حال حاضر شامل نسخهای با فشردهسازی متفاوت باشد. اگر --compression-format به صورت صریح در خط فرمان مشخص شده باشد یا compression_format در containers.conf تنظیم شده باشد، مقدار پیشفرض true است، در غیر این صورت false خواهد بود.
--format, -f
نوع مانیفست (oci، v2s2 یا v2s1) برای استفاده هنگام ارسال ایمیج (پیشفرض، نوع مانیفست ایمیج مبدا است، به همراه گزینههای پشتیبان).
--quiet, -q
هنگام نوشتن ایمیج خروجی، از نمایش خروجیهای مربوط به درصد پیشرفت خودداری میکند.
--remove-signatures
هنگام ارسال ایمیجها، امضاها کپی نشوند.
--retry attempts
تعداد دفعات تلاش مجدد در صورت بروز خطا هنگام ارسال ایمیجها به رجیستری.
پیشفرض 3 است.
--retry-delay duration
مدت زمان تأخیر میان تلاشهای مجدد در صورت بروز خطا هنگام ارسال ایمیجها به رجیستری.
پیشفرض 2s است.
--rm
هنگام ارسال یک فهرست مانیفست یا نمایه ایمیج، در صورت موفقیتآمیز بودن ارسال، آنها را از فضای ذخیرهسازی محلی حذف میکند.
--sign-by fingerprint
امضای ایمیج ارسالی با استفاده از کلید GPG متناظر با اثر انگشت (fingerprint) مشخصشده.
--tls-verify bool-value
الزام استفاده از HTTPS و اعتبارسنجی گواهیها هنگام برقراری ارتباط با رجیستریهای کانتینر (پیشفرض true است). اعتبارسنجی TLS هنگام ارتباط با یک رجیستری ناامن (insecure) قابل استفاده نیست.
مثال (EXAMPLE)
این مثال ایمیج مشخصشده توسط imageID را با فرمت docker در یک دایرکتوری محلی ارسال (push) میکند.
# buildah push imageID dir:/path/to/image
این مثال ایمیج مشخصشده توسط imageID را با فرمت oci در یک دایرکتوری محلی ارسال میکند.
# buildah push imageID oci:/path/to/layout:image:tag
این مثال ایمیج مشخصشده توسط imageID را با فرمت oci به یک بایگانی تار (tar) ارسال میکند.
# buildah push imageID oci-archive:/path/to/archive:image:tag
این مثال ایمیج مشخصشده توسط imageID را به یک رجیستری کانتینر با نام registry.example.com ارسال میکند.
# buildah push imageID docker://registry.example.com/repository:tag
این مثال ایمیج مشخصشده توسط imageID را به یک رجیستری کانتینر به نام registry.example.com ارسال کرده و هش (digest) را در فایل تعیینشده digestfile ذخیره میکند.
# buildah push --digestfile=/tmp/mydigest imageID docker://registry.example.com/repository:tag
این مثال مانند docker push عمل میکند، با این فرض که registry.example.com/my_image یک ایمیج محلی است.
# buildah push registry.example.com/my_image
این مثال ایمیج مشخصشده توسط imageID را به همراه اطلاعات احراز هویت از مسیر /tmp/auths/myauths.json به یک رجیستری کانتینر خصوصی به نام registry.example.com ارسال میکند.
# buildah push --authfile /tmp/auths/myauths.json imageID docker://registry.example.com/repository:tag
این مثال ایمیج مشخصشده توسط imageID را ارسال کرده و در فضای ذخیرهسازی محلی کانتینر داکر قرار میدهد.
# buildah push imageID docker-daemon:image:tag
این مثال
ایمیج
مشخصشده
توسط imageID را به
رجیستری
روی localhost ارسال
کرده و
همزمان
اعتبارسنجی
TLS را
غیرفعال
میسازد.
# buildah push --tls-verify=false imageID
localhost:5000/my-imageID
این مثال
ایمیج
مشخصشده
توسط imageID را با
استفاده از
اطلاعات
هویتی (credentials) و
گواهیها
برای احراز
هویت، به
رجیستری
روی localhost ارسال
میکند.
# buildah push --cert-dir ~/auth --tls-verify=true
--creds=username:password imageID localhost:5000/my-imageID
محیط (ENVIRONMENT)
BUILD_REGISTRY_SOURCES
متغیر BUILD_REGISTRY_SOURCES در صورت تنظیم، به عنوان یک شیء JSON در نظر گرفته میشود که شامل فهرستهایی از نامهای رجیستری تحت کلیدهای insecureRegistries، blockedRegistries و allowedRegistries است.
هنگام ارسال ایمیج به یک رجیستری، اگر بخشی از نام ایمیج مقصد که مربوط به نام رجیستری است با هر یک از موارد موجود در فهرست blockedRegistries مطابقت داشته باشد، عملیات ارسال رد میشود. اگر رجیستریهایی در فهرست allowedRegistries وجود داشته باشند و بخش مربوط به رجیستری در نام مقصد داخل آن فهرست نباشد، عملیات ارسال رد خواهد شد.
TMPDIR
متغیر محیطی TMPDIR به کاربر امکان میدهد مشخص کند که فایلهای موقت هنگام دریافت (pull) و ارسال (push) ایمیجها در کجا ذخیره شوند. مقدار پیشفرض '/var/tmp' است.
فایلها (FILES)
registries.conf (/etc/containers/registries.conf)
فایل registries.conf فایل پیکربندی است که مشخص میکند هنگام کامل کردن نام ایمیجهایی که فاقد بخش رجیستری یا دامنه هستند، به کدام رجیستریهای کانتینر مراجعه شود.
policy.json (/etc/containers/policy.json)
فایل سیاست امضا. این فایل خطمشی اعتماد را برای ایمیجهای کانتینر تعریف میکند و کنترل مینماید که کدام رجیستریهای کانتینر میتوانند برای ایمیج استفاده شوند و اینکه آیا ابزار باید به ایمیجها اعتماد کند یا خیر.
همچنین ببینید (SEE ALSO)
buildah(1), buildah-login(1), containers-policy.json(5), docker-login(1), containers-registries.conf(5), buildah-manifest(1), containers-transports(5), containers-auth.json(5)
| June 2017 | buildah |