(پارت سوم)
داکر volume چیست؟
در Docker، موضوع volume یا «حجم» یک فضای ذخیرهسازی پایدار است که Docker برای ذخیره دادههای کانتینرها ایجاد و مدیریت میکند. برخلاف فایلهای عادی که درون سیستم فایل کانتینر ذخیره میشوند و با حذف کانتینر از بین میروند،
دادههای ذخیرهشده در volume باقی میمانند حتی اگر کانتینر حذف شود. این ویژگی volume را به گزینهای عالی برای ذخیرهی دادههایی تبدیل میکند که لازم است بعد از حذف یا بروزرسانی کانتینرها همچنان در دسترس باشند.
چرا از Volume استفاده میکنیم؟
پایداری دادهها: دادههایی که در volume ذخیره میشوند با حذف یا بازسازی کانتینر پاک نمیشوند و برای کانتینرهای بعدی قابل استفاده هستند.
بهینهسازی عملکرد: Docker volumeها را بهینهسازی کرده است تا عملکرد بالایی در ذخیرهسازی دادهها ارائه دهند.
استقلال از سیستم فایل میزبان: برخلاف bind mount، volumeها به مسیرهای فایل خاصی در سیستم میزبان وابسته نیستند و Docker آنها را در دایرکتوری خاص خودش مدیریت میکند. این امر به امنیت و مدیریت آسانتر دادهها کمک میکند.
چگونه یک Volume ایجاد و استفاده کنیم؟
برای ایجاد و استفاده از volume، میتوان از دستورات زیر استفاده کرد:
ایجاد یک Volume
برای ایجاد volume، از دستور docker volume create استفاده میکنیم:
این دستور یک volume به نام my_volume ایجاد میکند. با استفاده از این نام میتوانیم volume را به هر کانتینری که نیاز داریم متصل کنیم.
متصل کردن Volume به کانتینر
برای استفاده از volume در یک کانتینر، از گزینه -v استفاده میکنیم:
در اینجا: my_volume به کانتینر متصل شده است.
مسیر /data در داخل کانتینر به این volume اختصاص یافته است. هر چیزی که داخل /data در کانتینر ذخیره شود، به volume منتقل میشود و پایدار خواهد بود.
ویژگیهای Volume در Docker
کپی خودکار دادهها: اگر volume خالی باشد و به مسیری در کانتینر متصل شود که شامل فایلهای پیشفرض است، Docker این فایلها را به volume کپی میکند. این ویژگی برای ذخیرهسازی تنظیمات پیشفرض مفید است.
مدیریت مرکزی: Docker بهصورت مرکزی volumeها را مدیریت میکند و آنها را در یک مسیر خاص در سیستم میزبان ذخیره میکند. این مسیر معمولاً /var/lib/docker/volumes است.
استفادهی چندگانه: یک volume را میتوان به چندین کانتینر بهصورت همزمان متصل کرد، که امکان اشتراکگذاری دادهها بین کانتینرها را فراهم میسازد.
داکر volume چیست؟
در Docker، موضوع volume یا «حجم» یک فضای ذخیرهسازی پایدار است که Docker برای ذخیره دادههای کانتینرها ایجاد و مدیریت میکند. برخلاف فایلهای عادی که درون سیستم فایل کانتینر ذخیره میشوند و با حذف کانتینر از بین میروند،
دادههای ذخیرهشده در volume باقی میمانند حتی اگر کانتینر حذف شود. این ویژگی volume را به گزینهای عالی برای ذخیرهی دادههایی تبدیل میکند که لازم است بعد از حذف یا بروزرسانی کانتینرها همچنان در دسترس باشند.
چرا از Volume استفاده میکنیم؟
پایداری دادهها: دادههایی که در volume ذخیره میشوند با حذف یا بازسازی کانتینر پاک نمیشوند و برای کانتینرهای بعدی قابل استفاده هستند.
بهینهسازی عملکرد: Docker volumeها را بهینهسازی کرده است تا عملکرد بالایی در ذخیرهسازی دادهها ارائه دهند.
استقلال از سیستم فایل میزبان: برخلاف bind mount، volumeها به مسیرهای فایل خاصی در سیستم میزبان وابسته نیستند و Docker آنها را در دایرکتوری خاص خودش مدیریت میکند. این امر به امنیت و مدیریت آسانتر دادهها کمک میکند.
چگونه یک Volume ایجاد و استفاده کنیم؟
برای ایجاد و استفاده از volume، میتوان از دستورات زیر استفاده کرد:
ایجاد یک Volume
برای ایجاد volume، از دستور docker volume create استفاده میکنیم:
docker volume create my_volume
این دستور یک volume به نام my_volume ایجاد میکند. با استفاده از این نام میتوانیم volume را به هر کانتینری که نیاز داریم متصل کنیم.
متصل کردن Volume به کانتینر
برای استفاده از volume در یک کانتینر، از گزینه -v استفاده میکنیم:
docker run -itd --name my_container -v my_volume:/data ubuntu
در اینجا: my_volume به کانتینر متصل شده است.
مسیر /data در داخل کانتینر به این volume اختصاص یافته است. هر چیزی که داخل /data در کانتینر ذخیره شود، به volume منتقل میشود و پایدار خواهد بود.
ویژگیهای Volume در Docker
کپی خودکار دادهها: اگر volume خالی باشد و به مسیری در کانتینر متصل شود که شامل فایلهای پیشفرض است، Docker این فایلها را به volume کپی میکند. این ویژگی برای ذخیرهسازی تنظیمات پیشفرض مفید است.
مدیریت مرکزی: Docker بهصورت مرکزی volumeها را مدیریت میکند و آنها را در یک مسیر خاص در سیستم میزبان ذخیره میکند. این مسیر معمولاً /var/lib/docker/volumes است.
استفادهی چندگانه: یک volume را میتوان به چندین کانتینر بهصورت همزمان متصل کرد، که امکان اشتراکگذاری دادهها بین کانتینرها را فراهم میسازد.
YouTube
Docker Volumes explained in 6 minutes
Understand Docker Volumes in 6 minutes. Docker Volumes in Docker-Compose
► Subscribe To Me On Youtube: https://bit.ly/2z5rvTV
In this video you will learn:
0:00 - Intro
0:21 - When do we need Docker Volumes?
1:02 - What is Docker Volumes?
2:04 - 3 Docker…
► Subscribe To Me On Youtube: https://bit.ly/2z5rvTV
In this video you will learn:
0:00 - Intro
0:21 - When do we need Docker Volumes?
1:02 - What is Docker Volumes?
2:04 - 3 Docker…
❤3❤🔥1
تفاوت بین Bind Mount و Volume در Docker
بی اطلاعی از این موضوع میتونه باگ بزرگی بشه براتون و در نهایت کانتینر در هنگام اجرا با Exit code 127 بیوفته.
در داکر ، bind mount و volume دو روش مجزا برای مدیریت دادهها هستند و هر یک عملکرد خاص خود را دارند:
1.حالت اول Bind Mount
در Bind Mount، یک پوشه دلخواه از سیستم میزبان به کانتینر متصل میشود. هر تغییری که در این پوشه میزبان ایجاد شود، مستقیماً بر روی کانتینر تاثیر میگذارد. در این حالت:
اگر پوشهی میزبان خالی باشد، مسیر هدف در کانتینر نیز خالی خواهد بود. Docker هیچ فایل پیشفرضی را از کانتینر به این پوشه کپی نمیکند.
2.حالت دوم Volume
در این حالت Volume در Docker بهصورت خودکار یک فضای ذخیرهسازی مجزا ایجاد میکند که توسط خود Docker مدیریت میشود. وقتی یک مسیر از کانتینر را به volume متصل میکنید:
اگر volume خالی باشد، Docker بهطور خودکار فایلهای پیشفرض را از مسیر مورد نظر در کانتینر به volume کپی میکند.
بنابر این Volumeها بهطور مستقل از سیستم فایل میزبان عمل میکنند و از این رو، برای ذخیرهسازی دادهها و فایلهای پیکربندی پایدار بسیار مناسب هستند.
در این حالت، حتی اگر volume خالی باشد، Docker بهصورت خودکار فایلهای تنظیمات پیشفرض را از کانتینر به volume کپی میکند و Nginx بدون مشکل اجرا میشود.
پس به عنوان نتیجه :
هنگام کار با Docker، شناخت تفاوتهای bind mount و volume میتواند از بروز مشکلات زیادی جلوگیری کند. Bind mount به شما امکان میدهد تا از مسیرهای خاص سیستم میزبان استفاده کنید، اما اگر این مسیرها خالی باشند، ممکن است باعث بروز خطا در کانتینر شوند. در مقابل، volume یک فضای مستقل فراهم میکند که Docker بهطور خودکار فایلهای پیشفرض کانتینر را در آن قرار میدهد.
بی اطلاعی از این موضوع میتونه باگ بزرگی بشه براتون و در نهایت کانتینر در هنگام اجرا با Exit code 127 بیوفته.
در داکر ، bind mount و volume دو روش مجزا برای مدیریت دادهها هستند و هر یک عملکرد خاص خود را دارند:
1.حالت اول Bind Mount
در Bind Mount، یک پوشه دلخواه از سیستم میزبان به کانتینر متصل میشود. هر تغییری که در این پوشه میزبان ایجاد شود، مستقیماً بر روی کانتینر تاثیر میگذارد. در این حالت:
اگر پوشهی میزبان خالی باشد، مسیر هدف در کانتینر نیز خالی خواهد بود. Docker هیچ فایل پیشفرضی را از کانتینر به این پوشه کپی نمیکند.
2.حالت دوم Volume
در این حالت Volume در Docker بهصورت خودکار یک فضای ذخیرهسازی مجزا ایجاد میکند که توسط خود Docker مدیریت میشود. وقتی یک مسیر از کانتینر را به volume متصل میکنید:
اگر volume خالی باشد، Docker بهطور خودکار فایلهای پیشفرض را از مسیر مورد نظر در کانتینر به volume کپی میکند.
بنابر این Volumeها بهطور مستقل از سیستم فایل میزبان عمل میکنند و از این رو، برای ذخیرهسازی دادهها و فایلهای پیکربندی پایدار بسیار مناسب هستند.
در این حالت، حتی اگر volume خالی باشد، Docker بهصورت خودکار فایلهای تنظیمات پیشفرض را از کانتینر به volume کپی میکند و Nginx بدون مشکل اجرا میشود.
پس به عنوان نتیجه :
هنگام کار با Docker، شناخت تفاوتهای bind mount و volume میتواند از بروز مشکلات زیادی جلوگیری کند. Bind mount به شما امکان میدهد تا از مسیرهای خاص سیستم میزبان استفاده کنید، اما اگر این مسیرها خالی باشند، ممکن است باعث بروز خطا در کانتینر شوند. در مقابل، volume یک فضای مستقل فراهم میکند که Docker بهطور خودکار فایلهای پیشفرض کانتینر را در آن قرار میدهد.
👍5❤🔥2❤1
پکیج at چیست؟
گاهی پیش میاد که میخواین دستوری رو در زمان خاصی اجرا کنید ، مثلا دستور reboot رو در ساعت خاصی اجرا کنید که سرور ری استارت شود ، و این دستور قرار هست تنها یکبار اجرا شود .
ابزار Cronjob هم وجود دارد که این ابزار برای اجرای تسک ها به صورت تکراری در زمان های خاص تعریف میشود .
پکیج at ابزاری است که برای زمانبندی اجرای دستورات در یک زمان خاص در آینده استفاده میشود. این ابزار به شما امکان میدهد دستورات یا اسکریپتها را در زمانی مشخص بدون نیاز به اجرای دستی آنها اجرا کنید.
ویژگیهای اصلی پکیج at:
اجرای دستورات در آینده: میتوانید دستوری را برای اجرا در یک زمان خاص (مثل "11:00 AM امروز" یا "فردا ساعت 10:30") زمانبندی کنید.
یکبار اجرا شدن: برخلاف کرونجاب که دستورات را بهطور مکرر اجرا میکند، at فقط یکبار دستور را اجرا میکند.
سادگی: برای وظایف زمانبندیشده ساده که نیازی به تکرار ندارند، بسیار کاربردی است.
نیاز به سرویس atd: این ابزار برای کارکرد به سرویس atd وابسته است که باید در سیستم شما در حال اجرا باشد.
نصب و راهاندازی:
نصب:
روی CentOS یا RHEL، دستور زیر را اجرا کنید:
روی Ubuntu دستور زیر را اجرا کنید:
فعال کردن سرویس:
سرویس atd را فعال و شروع کنید:
زمانبندی یک دستور:
برای مثال:
این دستور سرور را در ساعت 11:00 ریاستارت میکند.
مشاهده دستورات زمانبندیشده:
لغو یک تسک:
برای لغو، شماره تسک را از atq پیدا کنید و از دستور زیر استفاده کنید:
چه زمانی از at استفاده کنیم؟
زمانی که نیاز به اجرای یک دستور در زمان مشخص بدون تکرار دارید.
برای وظایف سادهتر که نیازی به فایلهای پیچیده کرونجاب ندارند.
به طور کلی، at گزینهای مفید برای زمانبندی سریع و یکباره دستورات است.
گاهی پیش میاد که میخواین دستوری رو در زمان خاصی اجرا کنید ، مثلا دستور reboot رو در ساعت خاصی اجرا کنید که سرور ری استارت شود ، و این دستور قرار هست تنها یکبار اجرا شود .
ابزار Cronjob هم وجود دارد که این ابزار برای اجرای تسک ها به صورت تکراری در زمان های خاص تعریف میشود .
پکیج at ابزاری است که برای زمانبندی اجرای دستورات در یک زمان خاص در آینده استفاده میشود. این ابزار به شما امکان میدهد دستورات یا اسکریپتها را در زمانی مشخص بدون نیاز به اجرای دستی آنها اجرا کنید.
ویژگیهای اصلی پکیج at:
اجرای دستورات در آینده: میتوانید دستوری را برای اجرا در یک زمان خاص (مثل "11:00 AM امروز" یا "فردا ساعت 10:30") زمانبندی کنید.
یکبار اجرا شدن: برخلاف کرونجاب که دستورات را بهطور مکرر اجرا میکند، at فقط یکبار دستور را اجرا میکند.
سادگی: برای وظایف زمانبندیشده ساده که نیازی به تکرار ندارند، بسیار کاربردی است.
نیاز به سرویس atd: این ابزار برای کارکرد به سرویس atd وابسته است که باید در سیستم شما در حال اجرا باشد.
نصب و راهاندازی:
نصب:
روی CentOS یا RHEL، دستور زیر را اجرا کنید:
sudo yum install at -y
روی Ubuntu دستور زیر را اجرا کنید:
sudo apt install at -y
فعال کردن سرویس:
سرویس atd را فعال و شروع کنید:
sudo systemctl enable --now atd
زمانبندی یک دستور:
برای مثال:
echo "reboot" | at 11:00
این دستور سرور را در ساعت 11:00 ریاستارت میکند.
مشاهده دستورات زمانبندیشده:
atq
لغو یک تسک:
برای لغو، شماره تسک را از atq پیدا کنید و از دستور زیر استفاده کنید:
atrm <job_number>
چه زمانی از at استفاده کنیم؟
زمانی که نیاز به اجرای یک دستور در زمان مشخص بدون تکرار دارید.
برای وظایف سادهتر که نیازی به فایلهای پیچیده کرونجاب ندارند.
به طور کلی، at گزینهای مفید برای زمانبندی سریع و یکباره دستورات است.
🔥3❤🔥2👍2
ابزاری به نام Velero !
ابزار Velero یک ابزار متنباز برای پشتیبانگیری، بازیابی و انتقال کلسترهای Kubernetes است.
این ابزار به شما کمک میکند تا دادهها و تنظیمات محیط Kubernetes خود را بهطور ایمن ذخیره کنید و در
مواقع نیاز به راحتی بازیابی کنید.
ویژگیهای اصلی Velero شامل:
پشتیبانگیری (Backup): گرفتن بکاپ از منابع Kubernetes و دادههای مرتبط.
بازیابی (Restore): بازگرداندن کل یا بخشی از کلستر به وضعیت قبلی.
انتقال (Migration): انتقال دادهها و تنظیمات بین کلسترهای مختلف در Kubernetes
ابزار Velero از سرویسهای ابری مانند AWS S3، Azure Blob Storage و Google Cloud Storage برای
ذخیرهسازی بکاپها پشتیبانی میکند. همچنین، میتواند با Persistent Volumes کار کند تا دادههای پایدار را نیز در
فرآیند پشتیبانگیری پوشش دهد.
برای مدیران Kubernetes، Velero ابزار بسیار مفیدی است تا در مواقع خرابی یا مهاجرت کلستر،
از دست رفتن دادهها را به حداقل برسانند.
ابزار Velero یک ابزار متنباز برای پشتیبانگیری، بازیابی و انتقال کلسترهای Kubernetes است.
این ابزار به شما کمک میکند تا دادهها و تنظیمات محیط Kubernetes خود را بهطور ایمن ذخیره کنید و در
مواقع نیاز به راحتی بازیابی کنید.
ویژگیهای اصلی Velero شامل:
پشتیبانگیری (Backup): گرفتن بکاپ از منابع Kubernetes و دادههای مرتبط.
بازیابی (Restore): بازگرداندن کل یا بخشی از کلستر به وضعیت قبلی.
انتقال (Migration): انتقال دادهها و تنظیمات بین کلسترهای مختلف در Kubernetes
ابزار Velero از سرویسهای ابری مانند AWS S3، Azure Blob Storage و Google Cloud Storage برای
ذخیرهسازی بکاپها پشتیبانی میکند. همچنین، میتواند با Persistent Volumes کار کند تا دادههای پایدار را نیز در
فرآیند پشتیبانگیری پوشش دهد.
برای مدیران Kubernetes، Velero ابزار بسیار مفیدی است تا در مواقع خرابی یا مهاجرت کلستر،
از دست رفتن دادهها را به حداقل برسانند.
YouTube
Kubernetes Backups, Upgrades, Migrations - with Velero
Follow DevOps Roadmap 👉🏽 https://www.instagram.com/marceldempers
My DevOps Course 👉🏽 https://marceldempers.dev
Patreon 👉🏽http://patreon.com/marceldempers
In todays episode we will be taking a look at a tool that can help you migrate, backup and restore…
My DevOps Course 👉🏽 https://marceldempers.dev
Patreon 👉🏽http://patreon.com/marceldempers
In todays episode we will be taking a look at a tool that can help you migrate, backup and restore…
👍8❤🔥2
(پارت چهارم)
پورت مپینگ در داکر چیست؟
پورت مپینگ در داکر یعنی اتصال پورت داخل کانتینر به یک پورت روی سیستم میزبان، تا کانتینر از بیرون قابل دسترسی باشد.
مثلاً وقتی میخواهید یک وبسایت داخل کانتینر را روی مرورگر باز کنید، با دستور زیر پورت ۸۰ داخل کانتینر را به پورت ۸۰۸۰ روی سیستم وصل میکنید:
اینجا:
۸۰۸۰ = پورت روی سیستم میزبان
۸۰ = پورت داخل کانتینر
حالا وقتی آدرس http://localhost:8080 را باز کنید، به سرویس داخل کانتینر متصل میشوید.
پورت مپینگ در داکر چیست؟
پورت مپینگ در داکر یعنی اتصال پورت داخل کانتینر به یک پورت روی سیستم میزبان، تا کانتینر از بیرون قابل دسترسی باشد.
مثلاً وقتی میخواهید یک وبسایت داخل کانتینر را روی مرورگر باز کنید، با دستور زیر پورت ۸۰ داخل کانتینر را به پورت ۸۰۸۰ روی سیستم وصل میکنید:
docker run -p 8080:80 my-container
اینجا:
۸۰۸۰ = پورت روی سیستم میزبان
۸۰ = پورت داخل کانتینر
حالا وقتی آدرس http://localhost:8080 را باز کنید، به سرویس داخل کانتینر متصل میشوید.
❤6❤🔥2👍1
شلو و دیپ کپی در پایتون مفاهیم کلیدی هستند که تفاوتهای اساسی در کپیبرداری از دادهها را توضیح میدهند.
📚 شلو کپی فقط یک سطح از دادهها را کپی میکند.
🔄 دیپ کپی تمام سطوح و زیر دادهها را به صورت مستقل کپی میکند.
⚠️ تغییرات در شلو کپی بر روی دادههای اصلی تأثیر میگذارد.
🛠️ متد copy برای ایجاد شلو کپی و deepcopy برای دیپ کپی استفاده میشود.
🔍 درک این مفاهیم برای جلوگیری از خطاهای غیرمنتظره در برنامهنویسی ضروری است.
📈 تفاوتهای شلو و دیپ کپی به برنامهنویسان کمک میکند تا کنترل بیشتری بر روی دادهها داشته باشند. درک این تفاوتها میتواند از بروز مشکلات جدی در آینده جلوگیری کند.
🔄 شلو کپی تنها اشارهگرها را کپی میکند، به این معنا که اگر دادههای اصلی تغییر کنند، دادههای کپی شده نیز تحت تأثیر قرار میگیرند. این میتواند به مشکلاتی در هنگام مدیریت دادهها منجر شود.
🌊 دیپ کپی تمام دادهها را به طور مستقل کپی میکند، به این ترتیب هرگونه تغییر در دادههای کپی شده بر روی دادههای اصلی تأثیری نخواهد گذاشت. این ویژگی برای کار با دادههای پیچیده بسیار مفید است.
🔍 استفاده از متد copy و deepcopy در پایتون به برنامهنویسان امکان میدهد تا به راحتی نوع کپیبرداری مورد نظر خود را انتخاب کنند. این انتخاب، بسته به نوع دادهها و نیازهای پروژه میتواند متفاوت باشد.
⚠️ در پروژههای بزرگ و پیچیده، عدم توجه به این مفاهیم میتواند منجر به بروز خطاهای غیرمنتظره و دشواری در عیبیابی شود.
https://youtu.be/_h4lgIcbBH0?si=E8eEDzQLe4n-1N7t
📚 شلو کپی فقط یک سطح از دادهها را کپی میکند.
🔄 دیپ کپی تمام سطوح و زیر دادهها را به صورت مستقل کپی میکند.
⚠️ تغییرات در شلو کپی بر روی دادههای اصلی تأثیر میگذارد.
🛠️ متد copy برای ایجاد شلو کپی و deepcopy برای دیپ کپی استفاده میشود.
🔍 درک این مفاهیم برای جلوگیری از خطاهای غیرمنتظره در برنامهنویسی ضروری است.
📈 تفاوتهای شلو و دیپ کپی به برنامهنویسان کمک میکند تا کنترل بیشتری بر روی دادهها داشته باشند. درک این تفاوتها میتواند از بروز مشکلات جدی در آینده جلوگیری کند.
🔄 شلو کپی تنها اشارهگرها را کپی میکند، به این معنا که اگر دادههای اصلی تغییر کنند، دادههای کپی شده نیز تحت تأثیر قرار میگیرند. این میتواند به مشکلاتی در هنگام مدیریت دادهها منجر شود.
🌊 دیپ کپی تمام دادهها را به طور مستقل کپی میکند، به این ترتیب هرگونه تغییر در دادههای کپی شده بر روی دادههای اصلی تأثیری نخواهد گذاشت. این ویژگی برای کار با دادههای پیچیده بسیار مفید است.
🔍 استفاده از متد copy و deepcopy در پایتون به برنامهنویسان امکان میدهد تا به راحتی نوع کپیبرداری مورد نظر خود را انتخاب کنند. این انتخاب، بسته به نوع دادهها و نیازهای پروژه میتواند متفاوت باشد.
⚠️ در پروژههای بزرگ و پیچیده، عدم توجه به این مفاهیم میتواند منجر به بروز خطاهای غیرمنتظره و دشواری در عیبیابی شود.
https://youtu.be/_h4lgIcbBH0?si=E8eEDzQLe4n-1N7t
YouTube
کپی سطحی و عمیق در پایتون | Shallow and Deep Copy in Python
ویدیو تفاوت is و == در پایتون
https://youtu.be/FNJ2NZxIhfs
من در شبکه های اجتماعی دیگه:
اینستاگرام
https://instagram.com/am.mthri
کانال تلگرام
https://news.1rj.ru/str/mthri_tips
توییتر
https://twitter.com/a_mthri
وبلاگ
https://iamamir.ir
https://youtu.be/FNJ2NZxIhfs
من در شبکه های اجتماعی دیگه:
اینستاگرام
https://instagram.com/am.mthri
کانال تلگرام
https://news.1rj.ru/str/mthri_tips
توییتر
https://twitter.com/a_mthri
وبلاگ
https://iamamir.ir
❤🔥2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
The difference between distracted mind and focused mind!
❤🔥3👍1
چرا Kubernetes دیگه از داکر استفاده نمیکنه؟
در واقع Kubernetes از نسخه 1.20 به بعد، دیگر به طور رسمی از Docker به عنوان Container Runtime پشتیبانی نمیکند، چون Docker به عنوان یک runtime با استاندارد CRI (Container Runtime Interface) سازگار نیست. این تصمیم به دلایل زیر گرفته شده است:
1. عدم سازگاری با CRI
کوبر یا Kubernetes برای تعامل با container runtime از CRI استفاده میکند. Docker این استاندارد را به طور مستقیم پشتیبانی نمیکند، بلکه برای کار با Kubernetes نیاز به یک لایهی واسطه به نام dockershim دارد. حذف این واسطه، عملکرد Kubernetes را سادهتر و کارآمدتر میکند.
2. مصرف منابع اضافی
داکر یا Docker به عنوان یک ابزار کامل (شامل مدیریت ایمیج، logging و غیره) طراحی شده که برخی از این قابلیتها در Kubernetes غیرضروری هستند. استفاده از Docker باعث مصرف منابع بیشتری نسبت به runtimeهای سادهتر مثل containerd یا CRI-O میشود.
3. جایگزینهای سبکتر و استانداردتر
کوبر یا Kubernetes به runtimeهایی مثل containerd و CRI-O سوئیچ کرده است، که به طور بومی با CRI سازگارند و برای مدیریت کانتینرهای Kubernetes طراحی شدهاند. این ابزارها سادهتر، سبکتر و کارآمدتر هستند.
آیا Docker کاملاً حذف شده؟
خیر، اگر هنوز از Docker استفاده میکنید، Kubernetes به کمک dockershim همچنان کار میکند، اما این پشتیبانی deprecated است و بهتر است به containerd یا CRI-O مهاجرت کنید.
نکته: Docker همچنان برای ساخت و مدیریت ایمیجها استفاده میشود و ابزاری محبوب در توسعه و تست باقی مانده است.
در واقع Kubernetes از نسخه 1.20 به بعد، دیگر به طور رسمی از Docker به عنوان Container Runtime پشتیبانی نمیکند، چون Docker به عنوان یک runtime با استاندارد CRI (Container Runtime Interface) سازگار نیست. این تصمیم به دلایل زیر گرفته شده است:
1. عدم سازگاری با CRI
کوبر یا Kubernetes برای تعامل با container runtime از CRI استفاده میکند. Docker این استاندارد را به طور مستقیم پشتیبانی نمیکند، بلکه برای کار با Kubernetes نیاز به یک لایهی واسطه به نام dockershim دارد. حذف این واسطه، عملکرد Kubernetes را سادهتر و کارآمدتر میکند.
2. مصرف منابع اضافی
داکر یا Docker به عنوان یک ابزار کامل (شامل مدیریت ایمیج، logging و غیره) طراحی شده که برخی از این قابلیتها در Kubernetes غیرضروری هستند. استفاده از Docker باعث مصرف منابع بیشتری نسبت به runtimeهای سادهتر مثل containerd یا CRI-O میشود.
3. جایگزینهای سبکتر و استانداردتر
کوبر یا Kubernetes به runtimeهایی مثل containerd و CRI-O سوئیچ کرده است، که به طور بومی با CRI سازگارند و برای مدیریت کانتینرهای Kubernetes طراحی شدهاند. این ابزارها سادهتر، سبکتر و کارآمدتر هستند.
آیا Docker کاملاً حذف شده؟
خیر، اگر هنوز از Docker استفاده میکنید، Kubernetes به کمک dockershim همچنان کار میکند، اما این پشتیبانی deprecated است و بهتر است به containerd یا CRI-O مهاجرت کنید.
نکته: Docker همچنان برای ساخت و مدیریت ایمیجها استفاده میشود و ابزاری محبوب در توسعه و تست باقی مانده است.
❤🔥4
خطای "we can't sign in to your account" زمانی رخ میدهد که ویندوز قادر به بارگذاری پروفایل کاربر نیست. این مشکل بهخصوص در مورد پروفایلهای رومینگ شایع است.
حالا این خطا یا زمانی که میخواهید ریموت دسکتاپ بزنید نمایش داده میشه و یا زمانی که میخواهید به صورت لوکال به سیستم متصل بشید .
راه حلی که در حال حاضر من تونستم باهاش مشکل رو رفع کنم این بود که وارد مسیر زیر شدم :
Settings -> System -> About -> Advanced System Settings
در این جا وارد تب Advanced میشویم و در قسمت User profiles گزینه ی Settings رو انتخاب میکنیم.
در نهایت یوزری رو که این ایراد براش پیش اومده رو از توی لیست پیدا کرده ( برای من اینجور نمایش داده میشه که Status یوزر به حالت backup تغییر کرده ) و گزینه ی Delete رو میزنیم .
این کار اطلاعات پروفایل یوزر رو حذف میکنه و مجدد که یوزر بخواد لاگین کنه ، به احتمال خیلی زیاد همه چی به روال قبل برمیگرده
نکته ی مهم : حتما از پروفایل یوزر و اطلاعات مهم او بکاب بگیرید که تو انجام این کار داستانی پیشنیاد.
حالا این خطا یا زمانی که میخواهید ریموت دسکتاپ بزنید نمایش داده میشه و یا زمانی که میخواهید به صورت لوکال به سیستم متصل بشید .
راه حلی که در حال حاضر من تونستم باهاش مشکل رو رفع کنم این بود که وارد مسیر زیر شدم :
Settings -> System -> About -> Advanced System Settings
در این جا وارد تب Advanced میشویم و در قسمت User profiles گزینه ی Settings رو انتخاب میکنیم.
در نهایت یوزری رو که این ایراد براش پیش اومده رو از توی لیست پیدا کرده ( برای من اینجور نمایش داده میشه که Status یوزر به حالت backup تغییر کرده ) و گزینه ی Delete رو میزنیم .
این کار اطلاعات پروفایل یوزر رو حذف میکنه و مجدد که یوزر بخواد لاگین کنه ، به احتمال خیلی زیاد همه چی به روال قبل برمیگرده
نکته ی مهم : حتما از پروفایل یوزر و اطلاعات مهم او بکاب بگیرید که تو انجام این کار داستانی پیشنیاد.
❤🔥6
قطعا راه حل های دیگری هم وجود داره که من از اونا بی اطلاع هستم و حتی از چرایی این ایراد هم اطلاعات کافی ندارم .
راه هایی هم مثل ری استارت و خراج شدن از دامین و جوین شدن مجدد رو هم امتحان کردم اما جوابی نگرفتم .
لطفا اگر شما در این مورد راه حل مناسبی دارید خوشحال میشیم با ما درمیون بزارید :
آدرس ربات کانال :
https://news.1rj.ru/str/bootrampbot
راه هایی هم مثل ری استارت و خراج شدن از دامین و جوین شدن مجدد رو هم امتحان کردم اما جوابی نگرفتم .
لطفا اگر شما در این مورد راه حل مناسبی دارید خوشحال میشیم با ما درمیون بزارید :
آدرس ربات کانال :
https://news.1rj.ru/str/bootrampbot
❤🔥5
10 ابزار انقلابی هوش مصنوعی به انتخاب مجله تایم
مجله تایم فهرستی از 200 اختراع برتر سال 2024 که زندگی ما را تغییر میدهند، تهیه کرده است. ما 10 مورد جالب در زمینه هوش مصنوعی را از این فهرست انتخاب کردهایم.
. Wafer-Scale Engine 3:
بزرگترین پردازنده در تاریخ، طراحی شده برای آموزش شبکههای عصبی با تعداد پارامترهای تا 24 تریلیون (تقریباً 10 برابر بیشتر از ChatGPT-4 یا Gemini).
. AlphaFold 3:
ابزار Google DeepMind برای پیشبینی ساختار سهبعدی پروتئینها که به دمیس هاسابیس و جان جامپر کمک کرد تا جایزه نوبل شیمی را کسب کنند.
. Gen-3 Alpha:
مدلی برای تولید ویدئوهای با کیفیت بالا توسط Runway. شبکههای عصبی این شرکت در ساخت فیلم "همهجا، همهچیز، یکباره" (برنده اسکار بهترین فیلم سال 2023) استفاده شدند.
. Rizz:
اپلیکیشنی که مکالمات در سرویسهای دوستیابی را تحلیل میکند و پیشنهادات بهتری برای برقراری ارتباط ارائه میدهد.
. Cohere Command R+:
پلتفرمی برای بهینهسازی فرآیندهای کسبوکار. قابلیت تهیه اسناد، ارسال ایمیلها، پاسخگویی به چندین زبان و حل مسائل را دارد.
. X Bellwether:
سیستمی برای پیشبینی بلایای طبیعی و ارزیابی پیامدهای آنها که پنتاگون هم اکنون از آن استفاده میکند.
. Captions:
سرویسی که به صورت خودکار ویدئوها را به دهها زبان ترجمه میکند، زیرنویس اضافه میکند و حرکت لبها را با گفتار همزمان میکند. این اپلیکیشن بیش از 10 میلیون بار دانلود شده است.
. Google NotebookLM:
مستندات حجیم را خلاصه میکند و هر متنی را با یک کلیک به پادکست با دو مجری هوش مصنوعی تبدیل میکند.
. AI Seer Facticity.AI:
یک چککننده حقایق که به گفته سازندگان، با دقت تا 92٪ میتواند شایعات را شناسایی کند.
. Abridge:
دستیاری که کارهای دفتری پزشکان را انجام میدهد و بیش از 50,000 پزشک از آن استفاده میکنند.
مجله تایم فهرستی از 200 اختراع برتر سال 2024 که زندگی ما را تغییر میدهند، تهیه کرده است. ما 10 مورد جالب در زمینه هوش مصنوعی را از این فهرست انتخاب کردهایم.
. Wafer-Scale Engine 3:
بزرگترین پردازنده در تاریخ، طراحی شده برای آموزش شبکههای عصبی با تعداد پارامترهای تا 24 تریلیون (تقریباً 10 برابر بیشتر از ChatGPT-4 یا Gemini).
. AlphaFold 3:
ابزار Google DeepMind برای پیشبینی ساختار سهبعدی پروتئینها که به دمیس هاسابیس و جان جامپر کمک کرد تا جایزه نوبل شیمی را کسب کنند.
. Gen-3 Alpha:
مدلی برای تولید ویدئوهای با کیفیت بالا توسط Runway. شبکههای عصبی این شرکت در ساخت فیلم "همهجا، همهچیز، یکباره" (برنده اسکار بهترین فیلم سال 2023) استفاده شدند.
. Rizz:
اپلیکیشنی که مکالمات در سرویسهای دوستیابی را تحلیل میکند و پیشنهادات بهتری برای برقراری ارتباط ارائه میدهد.
. Cohere Command R+:
پلتفرمی برای بهینهسازی فرآیندهای کسبوکار. قابلیت تهیه اسناد، ارسال ایمیلها، پاسخگویی به چندین زبان و حل مسائل را دارد.
. X Bellwether:
سیستمی برای پیشبینی بلایای طبیعی و ارزیابی پیامدهای آنها که پنتاگون هم اکنون از آن استفاده میکند.
. Captions:
سرویسی که به صورت خودکار ویدئوها را به دهها زبان ترجمه میکند، زیرنویس اضافه میکند و حرکت لبها را با گفتار همزمان میکند. این اپلیکیشن بیش از 10 میلیون بار دانلود شده است.
. Google NotebookLM:
مستندات حجیم را خلاصه میکند و هر متنی را با یک کلیک به پادکست با دو مجری هوش مصنوعی تبدیل میکند.
. AI Seer Facticity.AI:
یک چککننده حقایق که به گفته سازندگان، با دقت تا 92٪ میتواند شایعات را شناسایی کند.
. Abridge:
دستیاری که کارهای دفتری پزشکان را انجام میدهد و بیش از 50,000 پزشک از آن استفاده میکنند.
TIME
200 Best Inventions of 2024
Groundbreaking innovations that are making the world better, smarter, and a little more fun
🔥3❤🔥1
The_Linux_Command_Line_A_Complete_Introduction_William_E_Shotts.pdf
7.1 MB
کتاب "The Linux Command Line" نوشتهی ویلیام شاتس، در نسخهی دوم خود، به عنوان یک راهنمای کامل برای کاربران لینوکس ارائه شده است. این کتاب با تمرکز بر خط فرمان لینوکس، ابزارها و دستورات اصلی این سیستمعامل را به تفصیل توضیح میدهد. تصویر روی جلد کتاب یک ربات را نشان میدهد که دستورات مختلف خط فرمان لینوکس را از دهان خود بیرون میدهد، که نمادی از استفاده گسترده و قدرت این ابزارها در دنیای لینوکس است.
🔥3❤🔥1
IT Guys👾
The_Linux_Command_Line_A_Complete_Introduction_William_E_Shotts.pdf
نسخه فیزیکی این کتاب هم میتونید از refhub.ir سفارش بدید
❤3❤🔥1
🔻استفاده از VPN در پاکستان حرام اعلام شد
🔹 شورای امور مذهبی پاکستان به تازگی استفاده از اپلیکیشنهای VPNرا خلاف شریعت اسلام اعلام کرده است.
🔹 شورای امور مذهبی پاکستان به تازگی استفاده از اپلیکیشنهای VPNرا خلاف شریعت اسلام اعلام کرده است.
🤣5❤🔥1
How_Linux_Works_What_Every_Superuser_Should_Know_Brian_Ward_Z_Library.pdf
5.2 MB
کتاب "How Linux Works" نوشتهی برایان وارد، یک منبع جامع برای یادگیری سیستمعامل لینوکس است. این کتاب بهویژه برای کاربران پیشرفته و مدیران سیستم طراحی شده است و به آنها کمک میکند تا درک عمیقی از نحوه عملکرد لینوکس به دست آورند. در این کتاب، مفاهیم پایهای و پیشرفته لینوکس بهطور کامل توضیح داده شده و به خوانندگان این امکان را میدهد تا به یک کاربر حرفهای لینوکس تبدیل شوند.
🔥4❤🔥1
IT Guys👾
The_Linux_Command_Line_A_Complete_Introduction_William_E_Shotts.pdf
آقاجان بشینید لینوکس یاد بگیرید هم بازار کارش خوبه هم درآمدش خوبه از من به شما نصیحت یا از این کتابا بخونید یا بیرون دوره برید که من جفتشو پیشنهاد میدم اگرم درمورد آموزشگاه یا استاد های مدرس سوالی داشتید میتونید به ما پیام بدید
https://news.1rj.ru/str/bootrampbot
https://news.1rj.ru/str/bootrampbot
❤3🔥2❤🔥1
بهترین نسخه ی توزیع لینوکس کدام است؟
برای نصب و پیادهسازی سرویسها روی لینوکس، انتخاب توزیعی که پایداری (stability) و پشتیبانی بلندمدت (Long Term Support) ارائه دهد، بسیار مهم است. بهترین گزینهها برای این منظور عبارتند از:
1. Ubuntu LTS (مانند 24.04 LTS)
مزایا:
پشتیبانی 5 ساله.
جامعه کاربری بزرگ و مستندات کامل.
مناسب برای سرویسهایی مانند وبسرورها، دیتابیسها، و سرویسهای کانتینری.
معایب:
ممکن است بهروزرسانی نرمافزارها در نسخههای پایدار کمی تأخیر داشته باشد.
2. Debian Stable
مزایا:
یکی از پایدارترین توزیعها، با چرخه انتشار طولانی و آزمایششده.
مخازن گسترده و دسترسی به نسخههای قدیمیتر نرمافزارها.
معایب:
نرمافزارهای قدیمیتر نسبت به توزیعهای دیگر.
ایدهآل برای زیرساختهای سروری حیاتی.
مناسب برای کاربران عمومی و سازمانها.
3. Red Hat Enterprise Linux (RHEL)
مزایا:
پشتیبانی تجاری و ابزارهای مدیریتی قوی.
بهینه برای محیطهای سازمانی و سرویسهای بحرانی.
معایب:
نیاز به اشتراک پولی برای دریافت بهروزرسانیها.
اگر بودجه دارید، یک انتخاب برتر سازمانی است.
4. CentOS Stream (جایگزین CentOS)
مزایا:
نزدیک به RHEL ولی رایگان.
مناسب برای آزمایش و برخی پروژههای تولیدی.
معایب:
ممکن است به پایداری RHEL نرسد.
برای کسانی که به ابزارهای RHEL نیاز دارند ولی اشتراک نمیخواهند.
5. Rocky Linux یا AlmaLinux
مزایا:
جایگزینهای پایدار CentOS که توسط جامعه ایجاد شدهاند.
با RHEL سازگار هستند.
معایب:
نسبت به Debian یا Ubuntu جامعه کاربری کوچکتری دارند.
مناسب برای محیطهای سازمانی با نیاز به پشتیبانی رایگان.
به صورت پیشنهادی:
مورد اول : Ubuntu LTS اگر به کاربرپسندی و پشتیبانی وسیع نیاز دارید.
مورد دوم : Debian Stable اگر پایداری اولویت اول شماست.
مورد سوم : Rocky Linux یا AlmaLinux اگر RHEL را میپسندید ولی به گزینه رایگان نیاز دارید.
برای نصب و پیادهسازی سرویسها روی لینوکس، انتخاب توزیعی که پایداری (stability) و پشتیبانی بلندمدت (Long Term Support) ارائه دهد، بسیار مهم است. بهترین گزینهها برای این منظور عبارتند از:
1. Ubuntu LTS (مانند 24.04 LTS)
مزایا:
پشتیبانی 5 ساله.
جامعه کاربری بزرگ و مستندات کامل.
مناسب برای سرویسهایی مانند وبسرورها، دیتابیسها، و سرویسهای کانتینری.
معایب:
ممکن است بهروزرسانی نرمافزارها در نسخههای پایدار کمی تأخیر داشته باشد.
2. Debian Stable
مزایا:
یکی از پایدارترین توزیعها، با چرخه انتشار طولانی و آزمایششده.
مخازن گسترده و دسترسی به نسخههای قدیمیتر نرمافزارها.
معایب:
نرمافزارهای قدیمیتر نسبت به توزیعهای دیگر.
ایدهآل برای زیرساختهای سروری حیاتی.
مناسب برای کاربران عمومی و سازمانها.
3. Red Hat Enterprise Linux (RHEL)
مزایا:
پشتیبانی تجاری و ابزارهای مدیریتی قوی.
بهینه برای محیطهای سازمانی و سرویسهای بحرانی.
معایب:
نیاز به اشتراک پولی برای دریافت بهروزرسانیها.
اگر بودجه دارید، یک انتخاب برتر سازمانی است.
4. CentOS Stream (جایگزین CentOS)
مزایا:
نزدیک به RHEL ولی رایگان.
مناسب برای آزمایش و برخی پروژههای تولیدی.
معایب:
ممکن است به پایداری RHEL نرسد.
برای کسانی که به ابزارهای RHEL نیاز دارند ولی اشتراک نمیخواهند.
5. Rocky Linux یا AlmaLinux
مزایا:
جایگزینهای پایدار CentOS که توسط جامعه ایجاد شدهاند.
با RHEL سازگار هستند.
معایب:
نسبت به Debian یا Ubuntu جامعه کاربری کوچکتری دارند.
مناسب برای محیطهای سازمانی با نیاز به پشتیبانی رایگان.
به صورت پیشنهادی:
مورد اول : Ubuntu LTS اگر به کاربرپسندی و پشتیبانی وسیع نیاز دارید.
مورد دوم : Debian Stable اگر پایداری اولویت اول شماست.
مورد سوم : Rocky Linux یا AlmaLinux اگر RHEL را میپسندید ولی به گزینه رایگان نیاز دارید.
❤🔥6🔥3
کتابخانههای پایتون برای علم داده
پایتون یکی از زبانهای برنامهنویسی محبوب در حوزه علم داده است و دلیل این محبوبیت، وجود کتابخانههای قدرتمند و متنوع برای انجام تحلیل دادهها، مدلسازی آماری، یادگیری ماشین و بصریسازی دادهها است.
برخی از مهمترین این کتابخانهها عبارتند از:
NumPy:
برای کار با آرایههای چندبعدی و انجام عملیات ریاضی پیچیده.
Pandas:
برای دستکاری و تحلیل دادهها در قالب دادهسازها.
Matplotlib و Seaborn:
برای رسم نمودارها و بصریسازی دادهها.
Scikit-Learn:
برای انجام یادگیری ماشین و مدلهای پیشبینی.
TensorFlow و Keras:
برای ساخت و آموزش مدلهای شبکههای عصبی.
SciPy:
برای انجام محاسبات علمی و فنی پیشرفته در علم داده استفاده میشود.
این کتابخانهها ابزارهای قدرتمندی هستند که به متخصصین علم داده کمک میکنند تا دادهها را به شکل بهینهتر تحلیل و مدلسازی کنند.
پایتون یکی از زبانهای برنامهنویسی محبوب در حوزه علم داده است و دلیل این محبوبیت، وجود کتابخانههای قدرتمند و متنوع برای انجام تحلیل دادهها، مدلسازی آماری، یادگیری ماشین و بصریسازی دادهها است.
برخی از مهمترین این کتابخانهها عبارتند از:
NumPy:
برای کار با آرایههای چندبعدی و انجام عملیات ریاضی پیچیده.
Pandas:
برای دستکاری و تحلیل دادهها در قالب دادهسازها.
Matplotlib و Seaborn:
برای رسم نمودارها و بصریسازی دادهها.
Scikit-Learn:
برای انجام یادگیری ماشین و مدلهای پیشبینی.
TensorFlow و Keras:
برای ساخت و آموزش مدلهای شبکههای عصبی.
SciPy:
برای انجام محاسبات علمی و فنی پیشرفته در علم داده استفاده میشود.
این کتابخانهها ابزارهای قدرتمندی هستند که به متخصصین علم داده کمک میکنند تا دادهها را به شکل بهینهتر تحلیل و مدلسازی کنند.
❤5❤🔥2
(پارت پنجم)
ایمیج و کانتینر چی هستند؟
ایمیج (Image) یه جور قالب آماده است، مثل یه فایل نصبی که توش همهچیزایی که برنامهات برای اجرا شدن لازم داره، مثل سیستمعامل، فایلهای برنامه، و تنظیمات، جمع شده. اما این قالب خودش به تنهایی کار نمیکنه، باید از روش یه چیزی بسازی.
لایههای ایمیج
ایمیج مثل یه کیک چندلایه است. هر لایه یکی از چیزاییه که برنامه نیاز داره. مثلاً:
لایه اول: سیستمعامل پایه (مثل Ubuntu یا Alpine).
لایه دوم: ابزارهای مورد نیاز برنامه (مثلاً Python یا Node.js).
لایه سوم: خود برنامهت (فایلهای برنامهای که نوشتی).
لایه آخر: تنظیمات و جزئیات خاص.
وقتی یه تغییر کوچیک تو ایمیج بدی (مثلاً یه فایل جدید اضافه کنی)، فقط یه لایه جدید بهش اضافه میشه، و لایههای قبلی دستنخورده میمونن. این باعث میشه حجم ایمیجها کمتر باشه و سریعتر بشه ازشون استفاده کرد.
کانتینر چیست؟
کانتینر مثل نسخهی زندهی ایمیجه. وقتی ایمیج رو اجرا کنی، کانتینر به وجود میاد. کانتینر همون ایمیجه که داره تو یه محیط جداگانه اجرا میشه. این محیط طوریه که انگار برنامهت تو یه سیستم کامپیوتری مستقل داره کار میکنه، ولی در واقع روی همون سیستم اصلی اجرا میشه.
چطوری کانتینر به وجود میاد؟
اول ایمیج رو میسازی یا دانلود میکنی.
با یه دستور (مثلاً docker run)، ایمیج رو اجرا میکنی.
کانتینر از اون ایمیج ساخته میشه و برنامهت توش اجرا میشه.
مثال:
ایمیج مثل دستور پخت کیک تو یه دفترچه هست.
کانتینر مثل کیکیه که با استفاده از اون دستور پخت درست کردی و الان داری میخوری!
ایمیج و کانتینر چی هستند؟
ایمیج (Image) یه جور قالب آماده است، مثل یه فایل نصبی که توش همهچیزایی که برنامهات برای اجرا شدن لازم داره، مثل سیستمعامل، فایلهای برنامه، و تنظیمات، جمع شده. اما این قالب خودش به تنهایی کار نمیکنه، باید از روش یه چیزی بسازی.
لایههای ایمیج
ایمیج مثل یه کیک چندلایه است. هر لایه یکی از چیزاییه که برنامه نیاز داره. مثلاً:
لایه اول: سیستمعامل پایه (مثل Ubuntu یا Alpine).
لایه دوم: ابزارهای مورد نیاز برنامه (مثلاً Python یا Node.js).
لایه سوم: خود برنامهت (فایلهای برنامهای که نوشتی).
لایه آخر: تنظیمات و جزئیات خاص.
وقتی یه تغییر کوچیک تو ایمیج بدی (مثلاً یه فایل جدید اضافه کنی)، فقط یه لایه جدید بهش اضافه میشه، و لایههای قبلی دستنخورده میمونن. این باعث میشه حجم ایمیجها کمتر باشه و سریعتر بشه ازشون استفاده کرد.
کانتینر چیست؟
کانتینر مثل نسخهی زندهی ایمیجه. وقتی ایمیج رو اجرا کنی، کانتینر به وجود میاد. کانتینر همون ایمیجه که داره تو یه محیط جداگانه اجرا میشه. این محیط طوریه که انگار برنامهت تو یه سیستم کامپیوتری مستقل داره کار میکنه، ولی در واقع روی همون سیستم اصلی اجرا میشه.
چطوری کانتینر به وجود میاد؟
اول ایمیج رو میسازی یا دانلود میکنی.
با یه دستور (مثلاً docker run)، ایمیج رو اجرا میکنی.
کانتینر از اون ایمیج ساخته میشه و برنامهت توش اجرا میشه.
مثال:
ایمیج مثل دستور پخت کیک تو یه دفترچه هست.
کانتینر مثل کیکیه که با استفاده از اون دستور پخت درست کردی و الان داری میخوری!
❤🔥4🔥2👍1