Docker: Images Vs Containers – DEV Community

Summarize this content to 400 words in Persian Lang
در فناوری هایی مانند داکر، تصاویر و کانتینرها مفاهیم اساسی در کانتینرسازی هستند. افرادی که با این فناوری جدید هستند اغلب در مورد تفاوت بین تصاویر و کانتینرها سردرگم می شوند. امیدوارم به طور کامل تفاوت های کلیدی بین آنها را در پست وبلاگ یاد بگیرید.
تصاویر
تعریف: یک تصویر بسته ای سبک، مستقل و قابل اجرا است که شامل همه چیزهایی است که برای اجرای یک نرم افزار لازم است، از جمله کد، زمان اجرا، کتابخانه ها، متغیرهای محیطی و فایل های پیکربندی.
حالت: تصاویر ثابت هستند، پس از ایجاد، تغییر نمی کنند.
ایجاد: تصاویر از مجموعه ای از دستورالعمل ها ساخته می شوند (مثلاً یک Dockerfile). آنها با استفاده از docker build فرمان
ذخیره سازی: تصاویر در رجیستری های تصویر (به عنوان مثال، داکر هاب، آمازون ECR. رجیستری کانتینر گوگل) ذخیره می شوند.
استفاده: تصاویر به عنوان طرح اولیه کانتینرها عمل می کنند. آنها برای ایجاد کانتینر استفاده می شوند اما نمی توانند مستقیماً اجرا شوند.
ظروف
تعریف: کانتینر یک نمونه قابل اجرا از یک تصویر است. کانتینرها شامل برنامه و تمام وابستگی های آن هستند که در یک محیط ایزوله اجرا می شوند.
حالت: کانتینرها پویا هستند. آنها را می توان شروع کرد، متوقف کرد، منتقل کرد و حذف کرد. وضعیت آنها می تواند در طول زمان با اجرای برنامه تغییر کند.
ایجاد: کانتینرها از تصاویر با استفاده از docker run فرمان
ذخیره سازی: کانتینرها طبیعتا موقتی هستند. اگر برای ماندگاری پیکربندی نشده باشند (مثلاً استفاده از حجم ها برای ماندگاری داده) داده های آنها می تواند از بین برود.
استفاده: کانتینرها نمونه های واقعی هستند که برنامه ها اجرا می شوند. آنها محیط زمان اجرا را برای برنامه ها فراهم می کنند و می توانند با استفاده از دستورات Docker مدیریت شوند (به عنوان مثال، شروع، متوقف شود).
خلاصه
تصاویر قالبهای تغییرناپذیری هستند که مشخص میکنند برنامه کانتینری چه شکلی است، از جمله تمام وابستگیها و پیکربندیها.
ظروف نمونه های زنده و در حال اجرا آن تصاویر هستند که محیط اجرایی را برای برنامه ها فراهم می کنند.
در فناوری هایی مانند داکر، تصاویر و کانتینرها مفاهیم اساسی در کانتینرسازی هستند. افرادی که با این فناوری جدید هستند اغلب در مورد تفاوت بین تصاویر و کانتینرها سردرگم می شوند. امیدوارم به طور کامل تفاوت های کلیدی بین آنها را در پست وبلاگ یاد بگیرید.
تصاویر
- تعریف: یک تصویر بسته ای سبک، مستقل و قابل اجرا است که شامل همه چیزهایی است که برای اجرای یک نرم افزار لازم است، از جمله کد، زمان اجرا، کتابخانه ها، متغیرهای محیطی و فایل های پیکربندی.
- حالت: تصاویر ثابت هستند، پس از ایجاد، تغییر نمی کنند.
-
ایجاد: تصاویر از مجموعه ای از دستورالعمل ها ساخته می شوند (مثلاً یک Dockerfile). آنها با استفاده از
docker build
فرمان - ذخیره سازی: تصاویر در رجیستری های تصویر (به عنوان مثال، داکر هاب، آمازون ECR. رجیستری کانتینر گوگل) ذخیره می شوند.
- استفاده: تصاویر به عنوان طرح اولیه کانتینرها عمل می کنند. آنها برای ایجاد کانتینر استفاده می شوند اما نمی توانند مستقیماً اجرا شوند.
ظروف
- تعریف: کانتینر یک نمونه قابل اجرا از یک تصویر است. کانتینرها شامل برنامه و تمام وابستگی های آن هستند که در یک محیط ایزوله اجرا می شوند.
- حالت: کانتینرها پویا هستند. آنها را می توان شروع کرد، متوقف کرد، منتقل کرد و حذف کرد. وضعیت آنها می تواند در طول زمان با اجرای برنامه تغییر کند.
-
ایجاد: کانتینرها از تصاویر با استفاده از
docker run
فرمان - ذخیره سازی: کانتینرها طبیعتا موقتی هستند. اگر برای ماندگاری پیکربندی نشده باشند (مثلاً استفاده از حجم ها برای ماندگاری داده) داده های آنها می تواند از بین برود.
- استفاده: کانتینرها نمونه های واقعی هستند که برنامه ها اجرا می شوند. آنها محیط زمان اجرا را برای برنامه ها فراهم می کنند و می توانند با استفاده از دستورات Docker مدیریت شوند (به عنوان مثال، شروع، متوقف شود).
خلاصه
- تصاویر قالبهای تغییرناپذیری هستند که مشخص میکنند برنامه کانتینری چه شکلی است، از جمله تمام وابستگیها و پیکربندیها.
- ظروف نمونه های زنده و در حال اجرا آن تصاویر هستند که محیط اجرایی را برای برنامه ها فراهم می کنند.