مخزن ایمیج های داکر #
یک ایمیج داکر یک بستهی جامع است که شامل هر چیزی است که برای اجرای یک نرمافزار مورد نیاز است، مانند کد، زمان اجرا، کتابخانهها، متغیرهای محیطی و فایلهای پیکربندی. ایمیجها به صورت لایهای ساخته میشوند که هر لایه نشاندهندهی یک تغییر خاص است. این معماری لایهای، ذخیره و توزیع ایمیجها را کارآمد میکند.
این مقاله به شما نشان میدهد که چگونه تصاویر داکر را با استفاده از دستورات Docker CLI مدیریت کنید. یاد خواهید گرفت که چگونه تصاویر را بکشید، ارسال کنید، برچسب گذاری کنید، حذف کنید و بررسی کنید. همچنین خواهید دید که چگونه لایههای یک تصویر را بررسی کنید.
پاسخ کوتاه #
# List all images on your local machine.
docker image ls
# Pull a specific version/tag of an image.
docker image pull [IMAGE]:[TAG]
# Tag a local image.
docker image tag [IMAGE]:[TAG] [USERNAME]/[IMAGE]:[TAG]
# Pushes a tagged image to a remote registry.
docker image push [USERNAME]/[IMAGE]:[TAG]
# Removes an image.
docker image rm [IMAGE]:[TAG]
# Inspect a local image.
docker image inspect [IMAGE]:[TAG]بخشهای بعدی این مقاله هر دستور را به تفصیل پوشش میدهد.
ایمیج های کانتینر را با استفاده ازdocker image pull #
ایمیجهای داکر در رجیستریهایی مانند Docker Hub ذخیره میشوند که میزبان ایمیجهای از پیش ساخته شده برای سیستم عاملها، فریمورکها و برنامههای محبوب هستند.
این docker image pullدستور یک ایمیج را از یک رجیستری راه دور به دستگاه محلی شما دانلود میکند. این کار ایمیج را برای ایجاد و اجرای کانتینرها روی سیستم شما در دسترس قرار میدهد.
سینتکس دستور #
docker image pull [OPTIONS] NAME[:TAG]NAME[:TAG]– نام تصویر و یک برچسب اختیاری (برای مثال،nginx:latest).[OPTIONS]– گزینههای رایجی که رفتار دستور را تغییر میدهند، مانند--all-tagsدریافت همه نسخهها.
کاربرد فرمان #
- Pull the latest
nginximage.کنسول$ docker image pull nginxدستور بالا، تصویر nginx را با آخرین تگ از رجیستری دریافت میکند.
- Pull all tags of an
nginxکنسول$ docker image pull -a nginxدستور بالا، تصاویر داکر را برای هر تگ موجود
nginxاز رجیستری دریافت میکند.
ایمیج های کانتینر را با استفاده از Push Container وارد کنیدdocker image push #
این docker image pushدستور یک تصویر محلی را به یک رجیستری راه دور آپلود میکند. قبل از ارسال، باید تصویر را به درستی با استفاده از فرمت صحیح تگگذاری کنید. تگها به شناسایی و نسخهبندی تصاویر در رجیستری کمک میکنند. فرمت استاندارد تگگذاری . است [registry-hostname[:port]]/repository[:tag].
سینتکس دستور #
docker image push [OPTIONS] NAME[:TAG]NAME[:TAG]– مخزن و برچسب هدف.OPTIONS– گزینههای رایجی که رفتار دستور را تغییر میدهند، مانند--quietکاهش خروجی.
کاربرد فرمان #
- تصویر محلی را تگ کنید.کنسول
$ docker image tag app:latest myuser/app:v1این دستور تصویر اصلی را تغییر نمیدهد
app:latest. صرفاً یک برچسب جدید ایجاد میکندmyuser/app:v1که به همان شناسه تصویر اشاره دارد.توجه داشته باشیدmyuserبا نام کاربری رجیستری Docker خود جایگزین کنید . - آن را به یک رجیستری از راه دور ارسال کنید.کنسول
$ docker image push myuser/app:v1توجه داشته باشیدdocker loginقبل از ارسال به مخزن داکر، باید آن را اجرا و احراز هویت کنید.
حذف ایمیج های کانتینر با استفاده ازdocker image rm #
این docker image rmدستور یک یا چند تصویر داکر را از سیستم محلی شما حذف میکند. این کار برای آزاد کردن فضای دیسک یا حذف نسخههای تصویر استفاده نشده یا قدیمی از محیط توسعه شما مفید است.
سینتکس دستور #
docker image rm [OPTIONS] IMAGE [IMAGE...]IMAGE...– نام تصویر، برچسب یا شناسه.OPTIONS– گزینههای رایجی که رفتار دستور را تغییر میدهند، مانند--forceحذف اجباری یک تصویر حتی اگر در حال استفاده باشد.
کاربرد فرمان #
- تصاویر را فهرست کنید و نام و شناسه تصویری را که میخواهید حذف کنید، پیدا کنید. سپس میتوانید شناسه یا نام را به
docker image rmکنسول$ docker image ls - تصویر را بردارید
nginx.کنسول$ docker image rm nginxاین دستور
nginxتصویر را از سیستم شما حذف میکند. به طور پیشفرض،latestبرچسب را حذف میکند، اما در صورت نیاز میتوانید برچسب دیگری را مشخص کنید. - میتوانید چندین تصویر را برای حذف آنها مشخص کنید.کنسول
$ docker image rm mysql alpineاین دستور
mysqlتصاویرalpineدارایlatestبرچسب و را از سیستم شما حذف میکند.
همچنین میتوانید از این docker image pruneدستور برای حذف تمام تصاویر استفاده نشده و آویزان (بدون برچسب و بدون ارجاع توسط هیچ کانتینری) استفاده کنید.
بررسی تصاویر کانتینر با استفاده ازdocker image inspect #
این docker image inspectدستور به شما امکان میدهد یک تصویر را بررسی کنید و ببینید که چگونه ساخته شده است (لایههای آن). این دستور روی تصاویر، کانتینرها، رمزها و سایر اشیاء داکر کار میکند.
سینتکس دستور #
docker image inspect [OPTIONS] [OBJECT]OPTIONS– گزینههای رایجی که رفتار دستور را تغییر میدهند، مانند--formatتنظیم فرمت خروجی.[OBJECT]– نام یا شناسه شیء، در این مورد، نام تصویر یا شناسه تصویر تصویری که میخواهید بررسی کنید.
کاربرد فرمان #
- ایمیج را بررسی کنید
nginx.کنسول$ docker image inspect nginx - ایمیج را با استفاده از شناسه تصویر آن بررسی کنید.کنسول
$ docker image inspect 9592f5595f2b
هر دو دستور جزئیات تصویر را در خروجی JSON برمیگردانند.
بررسی تاریخچه تصویر با استفاده ازdocker image history #
این docker image historyدستور، دستوراتی را که لایههای تصویر را ایجاد کردهاند، فهرست میکند. این دستور به شما بینشی در مورد آنچه تصویر از آن ساخته شده است، میدهد.
سینتکس دستور #
docker image history [OPTIONS] [IMAGE][OPTIONS]– رفتار دستور را تغییر دهید، مانند--no-truncکه اطلاعات کاملی در مورد فیلدهای خروجی به شما میدهد.[IMAGE]– آیا شناسه تصویر یا نام تصویر است.
کاربرد فرمان #
- تاریخچه
alpineتصویر را بررسی کنید.کنسول$ docker image history alpine
این دستور لایههای
alpineتصویر را نشان میدهد. - دادههای کامل فیلدهای خروجی را مشاهده کنید.کنسول
$ docker image history --no-trunc alpine
این دستور دادههای کامل هر فیلد خروجی را نشان میدهد.
نتیجه گیری #
در این مقاله، نحوهی pull، push، tag، remove و inspect تصاویر داکر را با استفاده از دستورات Docker CLI آموختید. همچنین نحوهی بررسی لایههای یک تصویر را آموختید. برای اطلاعات بیشتر، به مستندات داکر مراجعه کنید .