Forwarded from Laravel News
Optimizing Factory Data Creation with Laravel's recycle Method https://laravel-news.com/recycle
Laravel News
Optimizing Factory Data Creation with Laravel's recycle Method - Laravel News
Explore Laravel's factory recycle method for efficient test data creation. Learn to optimize your factories by reusing model instances across multiple relationships, perfect for testing complex data structures.
Forwarded from Ninja Learn | نینجا لرن
نظرتون چیه دراینده سرور دیسکوردم بیاریم بالا؟
(اگه ایده ای هم براش دارید میتونید تو کامنتا بگید)
احتمال خیلییی زیاد با کمک خودتون سرور رو درست کنیم.
(اگه ایده ای هم براش دارید میتونید تو کامنتا بگید)
احتمال خیلییی زیاد با کمک خودتون سرور رو درست کنیم.
Forwarded from Laravel News
Laravel Microsoft Graph https://laravel-news.com/laravel-microsoft-graph
Laravel News
Laravel Microsoft Graph - Laravel News
The Laravel Microsoft Graph package provides seamless integration with Microsoft Graph API, making it easier for developers to interact with some of Microsoft's cloud services.
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰پیرو پست های قبلی درباره کشورهایی که در حال استفاده از توزیع لینوکس خود و متن باز هستند، از جمله هند،ترکیه،چین، مالزی،روسیه،کره جنوبی که در پست های زیر قبلا منتشر کردم.
🔰هم اکنون به توزیع مختص کابران پاکستان میپردازم.
🔰توزیع PakOS 12 (Gelecek) توزیع لینوکس پاکستانی با تمرکز بر امنیت سایبری
🔹با نزدیک شدن به پایان سال ۲۰۲۴، PakOS، توزیع لینوکس ساخت پاکستان، آخرین نسخه خود با نام PakOS 12 (Gelecek) را منتشر کرد. این بهروزرسانی نشاندهنده تغییر قابل توجهی به سمت امنیت سایبری دفاعی است و تعهد این توزیع به حفاظت از کاربران و حریم خصوصی آنها را نشان میدهد.
🔹پیشینه و پشتیبانی
توزیع PakOS 12 (Gelecek) حاصل تلاشهای مشترک با پشتیبانی Gelecek Technologies، یک استارتآپ نویدبخش پاکستانی، است. این همکاری نشاندهنده رشد اکوسیستم فناوری در پاکستان و افزایش تمرکز بر امنیت سایبری در این منطقه است.
🔹ویژگیها و بهبودهای کلیدی
• ابزارهای نظارت داخلی: شامل عوامل نظارت NOC مانند Zabbix و عامل Wazuh SIEM با دیالوگهای پیکربندی GUI کاربرپسند، که نظارت بر شبکه و مدیریت اطلاعات امنیتی را ساده میکند.
• سختافزاری CIS: سختافزاری پیشفرض بر اساس استانداردهای CIS سطح ۱ با استفاده از اسکریپتهای متنباز اصلاحشده.
• حسابرسی Lynis: پیادهسازی Lynis برای حسابرسی سیستم، با برنامهریزی برای سختافزاری بیشتر در نسخههای آینده.
• پیکربندی فایروال: قوانین پایه فایروال پیشپیکربندیشده با استفاده از UFW (فایروال ساده) همراه با GUI برای مدیریت آسان.
حریم خصوصی و مرور وب
• فایرفاکس سندباکسشده: یک ورودی منوی جدید به نام "Firefox Secure" تجربه مرور کاملاً سندباکسشده را فراهم میکند، با سطوح امنیتی قابل تنظیم توسط کاربر.
• موتورهای جستجو: کاربران میتوانند بین DuckDuckGo و Google به عنوان موتور جستجوی پیشفرض انتخاب کنند، با اولویت حریم خصوصی یا آشنایی.
• بهروزرسانیهای فایرفاکس: فایرفاکس اکنون از طریق مخزن رسمی نصب میشود، که دسترسی کاربران به آخرین نسخه را تضمین میکند.
رابط کاربری و تجربه کاربری
• بهبود لانچر Rofi: منوی شروع، الهامگرفته از ویندوز ،۱۱ اکنون شامل قابلیت مرور فایلها برای پوشه خانگی است.
• تم GRUB: یک تم جذاب GRUB در اولین راهاندازی اعمال میشود، همراه با مراحل سختافزاری سیستم.
• مدیر بهروزرسانی GUI: اعلانهای بهروزرسانی داخلی و یک رابط گرافیکی برای مدیریت بهروزرسانیهای سیستم.
بهرهوری و یکپارچهسازی هوش مصنوعی
• یکپارچهسازی OnlyOffice: آخرین نسخه OnlyOffice شامل پشتیبانی پیشفرض از ورود متن اردو است.
• دستیار هوش مصنوعی: یک دستیار هوش مصنوعی سبکوزن که دسترسی به Microsoft Co-pilot، Gemini، Poe یا Black Box AI را فراهم میکند.
بهبودهای سیستم
• سرویس NTP: سرویس پروتکل زمان شبکه (NTP) بهطور کامل پیکربندیشده برای همگامسازی خودکار زمان.
• بهینهسازی عملکرد: ادامه تمرکز بر حفظ استفاده کم از منابع، با ساخت بر روی دستاوردهای قبلی.
• بنیاد متنباز: PakOS ریشههای خود در اسکریپتهای پایه را تأیید میکند، که نشاندهنده ماهیت مشارکتی توسعه متنباز است.
چشمانداز آینده
با ورود PakOS به سال ۲۰۲۵، تمرکز آن بر امنیت سایبری، حریم خصوصی کاربران و ارتباط فرهنگی، آن را به عنوان یک بازیگر مهم در زمینه توزیعهای لینوکس، بهویژه برای کاربران در پاکستان و کسانی که امنیت را در اولویت قرار میدهند، مطرح میکند.
📌نویسنده: حسین سیلانی
📌منبع : آکادمی کندوی دانش
https://learninghive.ir
🔰هم اکنون به توزیع مختص کابران پاکستان میپردازم.
🔰توزیع PakOS 12 (Gelecek) توزیع لینوکس پاکستانی با تمرکز بر امنیت سایبری
🔹با نزدیک شدن به پایان سال ۲۰۲۴، PakOS، توزیع لینوکس ساخت پاکستان، آخرین نسخه خود با نام PakOS 12 (Gelecek) را منتشر کرد. این بهروزرسانی نشاندهنده تغییر قابل توجهی به سمت امنیت سایبری دفاعی است و تعهد این توزیع به حفاظت از کاربران و حریم خصوصی آنها را نشان میدهد.
🔹پیشینه و پشتیبانی
توزیع PakOS 12 (Gelecek) حاصل تلاشهای مشترک با پشتیبانی Gelecek Technologies، یک استارتآپ نویدبخش پاکستانی، است. این همکاری نشاندهنده رشد اکوسیستم فناوری در پاکستان و افزایش تمرکز بر امنیت سایبری در این منطقه است.
🔹ویژگیها و بهبودهای کلیدی
• ابزارهای نظارت داخلی: شامل عوامل نظارت NOC مانند Zabbix و عامل Wazuh SIEM با دیالوگهای پیکربندی GUI کاربرپسند، که نظارت بر شبکه و مدیریت اطلاعات امنیتی را ساده میکند.
• سختافزاری CIS: سختافزاری پیشفرض بر اساس استانداردهای CIS سطح ۱ با استفاده از اسکریپتهای متنباز اصلاحشده.
• حسابرسی Lynis: پیادهسازی Lynis برای حسابرسی سیستم، با برنامهریزی برای سختافزاری بیشتر در نسخههای آینده.
• پیکربندی فایروال: قوانین پایه فایروال پیشپیکربندیشده با استفاده از UFW (فایروال ساده) همراه با GUI برای مدیریت آسان.
حریم خصوصی و مرور وب
• فایرفاکس سندباکسشده: یک ورودی منوی جدید به نام "Firefox Secure" تجربه مرور کاملاً سندباکسشده را فراهم میکند، با سطوح امنیتی قابل تنظیم توسط کاربر.
• موتورهای جستجو: کاربران میتوانند بین DuckDuckGo و Google به عنوان موتور جستجوی پیشفرض انتخاب کنند، با اولویت حریم خصوصی یا آشنایی.
• بهروزرسانیهای فایرفاکس: فایرفاکس اکنون از طریق مخزن رسمی نصب میشود، که دسترسی کاربران به آخرین نسخه را تضمین میکند.
رابط کاربری و تجربه کاربری
• بهبود لانچر Rofi: منوی شروع، الهامگرفته از ویندوز ،۱۱ اکنون شامل قابلیت مرور فایلها برای پوشه خانگی است.
• تم GRUB: یک تم جذاب GRUB در اولین راهاندازی اعمال میشود، همراه با مراحل سختافزاری سیستم.
• مدیر بهروزرسانی GUI: اعلانهای بهروزرسانی داخلی و یک رابط گرافیکی برای مدیریت بهروزرسانیهای سیستم.
بهرهوری و یکپارچهسازی هوش مصنوعی
• یکپارچهسازی OnlyOffice: آخرین نسخه OnlyOffice شامل پشتیبانی پیشفرض از ورود متن اردو است.
• دستیار هوش مصنوعی: یک دستیار هوش مصنوعی سبکوزن که دسترسی به Microsoft Co-pilot، Gemini، Poe یا Black Box AI را فراهم میکند.
بهبودهای سیستم
• سرویس NTP: سرویس پروتکل زمان شبکه (NTP) بهطور کامل پیکربندیشده برای همگامسازی خودکار زمان.
• بهینهسازی عملکرد: ادامه تمرکز بر حفظ استفاده کم از منابع، با ساخت بر روی دستاوردهای قبلی.
• بنیاد متنباز: PakOS ریشههای خود در اسکریپتهای پایه را تأیید میکند، که نشاندهنده ماهیت مشارکتی توسعه متنباز است.
چشمانداز آینده
با ورود PakOS به سال ۲۰۲۵، تمرکز آن بر امنیت سایبری، حریم خصوصی کاربران و ارتباط فرهنگی، آن را به عنوان یک بازیگر مهم در زمینه توزیعهای لینوکس، بهویژه برای کاربران در پاکستان و کسانی که امنیت را در اولویت قرار میدهند، مطرح میکند.
📌نویسنده: حسین سیلانی
📌منبع : آکادمی کندوی دانش
https://learninghive.ir
Forwarded from LearnPOV | لرن پی او وی
من همیشه سعی میکنم توی چنل و گروهایی که فعالیت میکنم، جدایی از برنامهنویسی، راجب یسری موراد با کانتکست بزرگ تر و مهم تر که مربوط میشه به زندگی، موارد شخصیتی و ... هم صحبت بکنم 🔥
ولی خب چون کولیکد با هدف آموزش برنامهنویسی ایجاد شده تصمیم گرفتم یه چنل دیگه بزنم به نام 𝕏Code که هم مطالب برنامه نویسیمیزارم هم اون مواردی که گفتم ؛))
ولی خب چون کولیکد با هدف آموزش برنامهنویسی ایجاد شده تصمیم گرفتم یه چنل دیگه بزنم به نام 𝕏Code که هم مطالب برنامه نویسیمیزارم هم اون مواردی که گفتم ؛))
Telegram
𝕏𝗖𝗢𝗗𝗘 | فراتر از کد
توی دنیای برنامه نویسی همیشه یسری کانتنتا وجود داره، که تو یه لول دیگس، 𝕏CODE دقیقا منبع تمامی اون مطالبه 😎🔥
👥 𝗚𝗥𝗢𝗨𝗣 : @CoolyCoder
✌️ 𝗣𝗩 :
@Ml_XCODER -
@soroush_techcraft -
@lionelsuber
👥 𝗚𝗥𝗢𝗨𝗣 : @CoolyCoder
✌️ 𝗣𝗩 :
@Ml_XCODER -
@soroush_techcraft -
@lionelsuber
Forwarded from Ninja Learn | نینجا لرن
از اونجایی که سرعت fastapi بخش زیادیش برمیگرده به starlette پست بعدی راجب
Starllete package
هستش
Starllete package
هستش
Forwarded from DevAcademy
سلام دوستان
اگه کسی رو میشناسین که به nextjs مسلط باشه دوست داشته باشه دورکاری کنه معرفی کنین ممنون میشم.
بیمه نداریم
حقوق هم از ۳۰ تومان هستش
تایم شروع به کار هم asap
* حتما در مورد جزییات بیشتر شرایط کاری از منتشر کننده پست تو لینکدین بپرسید*
https://www.linkedin.com/posts/milikarimi_%D8%B3%D9%84%D8%A7%D9%85-%D8%AF%D9%88%D8%B3%D8%AA%D8%A7%D9%86-%D8%A7%DA%AF%D9%87-%DA%A9%D8%B3%DB%8C-%D8%B1%D9%88-%D9%85%DB%8C%D8%B4%D9%86%D8%A7%D8%B3%DB%8C%D9%86-%DA%A9%D9%87-%D8%A8%D9%87-nextjs-activity-7280607609496178688-BrKM?utm_source=share&utm_medium=member_desktop
💻@DevAcaademy
💬@DevAcademyGroup
اگه کسی رو میشناسین که به nextjs مسلط باشه دوست داشته باشه دورکاری کنه معرفی کنین ممنون میشم.
بیمه نداریم
حقوق هم از ۳۰ تومان هستش
تایم شروع به کار هم asap
* حتما در مورد جزییات بیشتر شرایط کاری از منتشر کننده پست تو لینکدین بپرسید*
https://www.linkedin.com/posts/milikarimi_%D8%B3%D9%84%D8%A7%D9%85-%D8%AF%D9%88%D8%B3%D8%AA%D8%A7%D9%86-%D8%A7%DA%AF%D9%87-%DA%A9%D8%B3%DB%8C-%D8%B1%D9%88-%D9%85%DB%8C%D8%B4%D9%86%D8%A7%D8%B3%DB%8C%D9%86-%DA%A9%D9%87-%D8%A8%D9%87-nextjs-activity-7280607609496178688-BrKM?utm_source=share&utm_medium=member_desktop
💻@DevAcaademy
💬@DevAcademyGroup
Linkedin
Milad Karimi on LinkedIn: سلام دوستان
اگه کسی رو میشناسین که به nextjs مسلط باشه دوست داشته باشه… | 66 comments
اگه کسی رو میشناسین که به nextjs مسلط باشه دوست داشته باشه… | 66 comments
سلام دوستان
اگه کسی رو میشناسین که به nextjs مسلط باشه دوست داشته باشه دورکاری کنه معرفی کنین ممنون میشم.
بیمه نداریم
حقوق هم از ۳۰ تومان هستش
🤟🏻🦇
تایم شروع… | 66 comments on LinkedIn
اگه کسی رو میشناسین که به nextjs مسلط باشه دوست داشته باشه دورکاری کنه معرفی کنین ممنون میشم.
بیمه نداریم
حقوق هم از ۳۰ تومان هستش
🤟🏻🦇
تایم شروع… | 66 comments on LinkedIn
Forwarded from نوشتههای ترمینالی
کار کردن به عنوان مهندس نرمافزار چگونه است؟
اگه دنبال این هستین که آینده شغلیتون رو ارزیابی کنید، ببینید در طول روز قراره مشغول چیا باشید به عنوان مهندس نرمافزار (یا برنامه نویس) این ویدیو ایدهی خوبی میده.
https://www.youtube.com/watch?v=BOFK-W-Nmes
@terminal_stuff
اگه دنبال این هستین که آینده شغلیتون رو ارزیابی کنید، ببینید در طول روز قراره مشغول چیا باشید به عنوان مهندس نرمافزار (یا برنامه نویس) این ویدیو ایدهی خوبی میده.
https://www.youtube.com/watch?v=BOFK-W-Nmes
@terminal_stuff
YouTube
What Software Engineers ACTUALLY Do (what they don’t tell you)
🚀 Start the FREE Software Development Introduction Course with CourseCareers Now: https://coursecareers.com/a/internetmadecoder?course=software-dev-fundamentals
📧 FREE newsletter (get FREE computer science degree template as a sign up bonus) - https://a…
📧 FREE newsletter (get FREE computer science degree template as a sign up bonus) - https://a…
Forwarded from توسعه دهندگان
jobvision-salary-survey-report-1403.pdf
6.9 MB
📊 گزارش جامع حقوق و دستمزد 1403
گزارش 1403 اطلاعاتی جامع درباره:
🔍 این گزارش، مرجعی مطمئن برای کارکنان و کارفرمایان است تا با درک بهتر و انتظارات واقعی به توافق برسند.
هر سال، جاب ویژن با نظرسنجی گسترده، گزارشی کامل از حقوق و انتظارات افراد در حوزههای مختلف تهیه میکند.
گزارش 1403 اطلاعاتی جامع درباره:
•میزان حقوق براساس ارشدیت، شغل و شهر
•افزایش حقوق سالانه
🔍 این گزارش، مرجعی مطمئن برای کارکنان و کارفرمایان است تا با درک بهتر و انتظارات واقعی به توافق برسند.
👨🏻💻😈 @IDevZone
Forwarded from Linuxor ?
میکروکرنل کوچیکترین و سادهترین نوع کرنله که فقط وظایف بسیار ضروری مثل مدیریت پردازشها و حافظه را بر عهده داره. سایر خدمات توسط ماژولهای جداگونهای که در فضای کاربر اجرا میشن، ارائه میشه.
این معماری قشنگ یه عیب هم داره اینه که درخواست های زیادی به سمت کرنل میره و باعث میشه سرعت نسبت به یه کرنل یکپارچه یا مونولیتیک کمتر بشه چون توی مونولیتیک اجزای کرنل به صورت مستقیم باهم ارتباط دارن؛ البته میکروکرنل هم ویژگی های خوبی مثل امنیت بالا تر داره چون اجزای کرنل جدا از همن.کرنل لینوکس مونولیتیکه اما مینیکس میکروکرنله.
توی یه مناظره بین اندرو تنباوم خالق مینیکس و لینوس تروالدز خالق لینوکس، اندرو تنباوم، طراحی هستهٔ مونولیتیک برای لینوکس رو بزرگترین اشتباه در طراحی هستهٔ سیستمعامل عنوان کرده بود.
اما در نهایت لینوکس موفق تر از مینیکس شد.
@Linuxor
این معماری قشنگ یه عیب هم داره اینه که درخواست های زیادی به سمت کرنل میره و باعث میشه سرعت نسبت به یه کرنل یکپارچه یا مونولیتیک کمتر بشه چون توی مونولیتیک اجزای کرنل به صورت مستقیم باهم ارتباط دارن؛ البته میکروکرنل هم ویژگی های خوبی مثل امنیت بالا تر داره چون اجزای کرنل جدا از همن.کرنل لینوکس مونولیتیکه اما مینیکس میکروکرنله.
توی یه مناظره بین اندرو تنباوم خالق مینیکس و لینوس تروالدز خالق لینوکس، اندرو تنباوم، طراحی هستهٔ مونولیتیک برای لینوکس رو بزرگترین اشتباه در طراحی هستهٔ سیستمعامل عنوان کرده بود.
اما در نهایت لینوکس موفق تر از مینیکس شد.
@Linuxor
Forwarded from Md Daily (Mahan)
بالاخره بعد از کلی رکورد draft تونستم به یه نسخه ی اوکی برسم، این اولین ویدیوی کانال هست.
دامنه ی mddaily.ir هم گرفته شده و به زودی وبلاگ جدید کانال هم برای آموزش هایی که توی تلگرام انتشارشون سخته رو نمایی میشه :)
دامنه ی mddaily.ir هم گرفته شده و به زودی وبلاگ جدید کانال هم برای آموزش هایی که توی تلگرام انتشارشون سخته رو نمایی میشه :)
Forwarded from Syntax | سینتکس (Daimon)
سوال مصاحبه ای درباره ذاکر با توضیح کامل
چرا وقتی یک کانتینر از یک ایمیجی رو بالا میاریم، نمیتونیم اون ایمیج رو پاک کنیم؟
زمانی که شما یک کانتینر را از یک ایمیج (Image) در Docker بالا میآورید، امکان حذف آن ایمیج تا زمانی که کانتینر مرتبط با آن در حال اجرا یا وجود داشته باشد امکان پذیر نیست. این رفتار به دلیل معماری Docker و نحوه مدیریت دادهها از طریق مکانیزمهایی مانند Copy-on-Write (COW) و UnionFS اتفاق میافتد.
در Docker، ایمیجها بهعنوان قالبهای فقط خواندنی (Read-Only) عمل میکنند که شامل تمام فایلها، نرمافزارها و تنظیمات مورد نیاز برای اجرای یک برنامه هستند. وقتی یک کانتینر از یک ایمیج بالا میآید:
- ایمیج بهعنوان پایه (Base) عمل میکند.
- کانتینر یک لایه نوشتنی (Writable Layer) به بالای ایمیج اضافه میکند.
این لایه نوشتنی به کانتینر اجازه میدهد تغییراتی مانند ایجاد فایلها یا تغییر تنظیمات را انجام دهد، بدون اینکه لایههای فقط خواندنی ایمیج اصلی تغییر کنند.
Copy-on-Write (COW)
داکر برای مدیریت تغییرات کانتینر از مکانیزم Copy-on-Write (COW) استفاده میکند. به این معنا که:
- تا زمانی که نیازی به تغییر دادهها نباشد، کانتینر از لایههای موجود در ایمیج بهصورت مستقیم استفاده میکند.
- وقتی تغییری در یک فایل لازم باشد، آن فایل از لایه فقط خواندنی ایمیج به لایه نوشتنی کانتینر کپی میشود و سپس تغییرات اعمال میگردد.
این روش باعث صرفهجویی در منابع میشود، زیرا تا زمانی که نیازی به تغییر نباشد، ایمیج و کانتینر از همان نسخه دادهها استفاده میکنند.
UnionFS
سیستم فایل UnionFS (Union File System) برای ترکیب چندین لایه سیستم فایل در یک نمای واحد (Single View) استفاده میشود. Docker از UnionFS برای ساخت ایمیجها و کانتینرها استفاده میکند. نحوه کار به این صورت است:
- ایمیجها از چندین لایه تشکیل شدهاند.
- این لایهها فقط خواندنی هستند و هر لایه تغییرات و افزودههایی نسبت به لایه قبلی دارد.
- وقتی یک کانتینر ایجاد میشود، یک لایه نوشتنی به بالای این لایههای فقط خواندنی اضافه میشود.
بنابراین، از دید کانتینر، تمام این لایهها بهصورت یک سیستم فایل یکپارچه دیده میشوند. اما در واقعیت، لایه نوشتنی و لایههای فقط خواندنی جدا از هم هستند.
https://en.wikipedia.org/wiki/UnionFS
چرا ایمیج حذف نمیشود؟
وقتی یک کانتینر از یک ایمیج ایجاد میشود، آن کانتینر به لایههای ایمیج وابسته است. به همین دلیل، تا زمانی که کانتینر وجود دارد (حتی اگر متوقف شده باشد):
- لایههای فقط خواندنی ایمیج در حال استفاده هستند.
- اگر ایمیج حذف شود، کانتینر نمیتواند به لایههای مورد نیاز خود دسترسی پیدا کند و در نتیجه خراب میشود.
Docker برای جلوگیری از این مشکل، اجازه حذف ایمیجهایی که در حال استفاده هستند را نمیدهد و در نهایت فقط میتوانید تگ آن را حذف کنید نه بادی ایمیج را.
ارتباط Copy-on-Write و UnionFS
- UnionFS امکان استفاده از چندین لایه سیستم فایل را فراهم میکند و باعث میشود ایمیجها و کانتینرها بهصورت مؤثری مدیریت شوند.
- Copy-on-Write تضمین میکند که تنها زمانی تغییرات در دادهها ایجاد شوند که واقعاً لازم باشد، بدون تغییر لایههای اصلی (فقط خواندنی) ایمیج.
این دو مکانیزم با هم کار میکنند تا Docker بتواند ایمیجها و کانتینرها را بهصورت کارآمد مدیریت کند.
چگونه ایمیج را حذف کنیم؟
اگر بخواهید یک ایمیج را حذف کنید، ابتدا باید تمام کانتینرهای وابسته به آن را حذف کنید. مراحل کلی عبارتند از:
1. لیست کانتینرهای وابسته به ایمیج:
2. حذف کانتینرهای وابسته:
3. حذف ایمیج:
#docker #copy_on_write #union_file_system
@Syntax_fa
چرا وقتی یک کانتینر از یک ایمیجی رو بالا میاریم، نمیتونیم اون ایمیج رو پاک کنیم؟
زمانی که شما یک کانتینر را از یک ایمیج (Image) در Docker بالا میآورید، امکان حذف آن ایمیج تا زمانی که کانتینر مرتبط با آن در حال اجرا یا وجود داشته باشد امکان پذیر نیست. این رفتار به دلیل معماری Docker و نحوه مدیریت دادهها از طریق مکانیزمهایی مانند Copy-on-Write (COW) و UnionFS اتفاق میافتد.
در Docker، ایمیجها بهعنوان قالبهای فقط خواندنی (Read-Only) عمل میکنند که شامل تمام فایلها، نرمافزارها و تنظیمات مورد نیاز برای اجرای یک برنامه هستند. وقتی یک کانتینر از یک ایمیج بالا میآید:
- ایمیج بهعنوان پایه (Base) عمل میکند.
- کانتینر یک لایه نوشتنی (Writable Layer) به بالای ایمیج اضافه میکند.
این لایه نوشتنی به کانتینر اجازه میدهد تغییراتی مانند ایجاد فایلها یا تغییر تنظیمات را انجام دهد، بدون اینکه لایههای فقط خواندنی ایمیج اصلی تغییر کنند.
Copy-on-Write (COW)
داکر برای مدیریت تغییرات کانتینر از مکانیزم Copy-on-Write (COW) استفاده میکند. به این معنا که:
- تا زمانی که نیازی به تغییر دادهها نباشد، کانتینر از لایههای موجود در ایمیج بهصورت مستقیم استفاده میکند.
- وقتی تغییری در یک فایل لازم باشد، آن فایل از لایه فقط خواندنی ایمیج به لایه نوشتنی کانتینر کپی میشود و سپس تغییرات اعمال میگردد.
این روش باعث صرفهجویی در منابع میشود، زیرا تا زمانی که نیازی به تغییر نباشد، ایمیج و کانتینر از همان نسخه دادهها استفاده میکنند.
UnionFS
سیستم فایل UnionFS (Union File System) برای ترکیب چندین لایه سیستم فایل در یک نمای واحد (Single View) استفاده میشود. Docker از UnionFS برای ساخت ایمیجها و کانتینرها استفاده میکند. نحوه کار به این صورت است:
- ایمیجها از چندین لایه تشکیل شدهاند.
- این لایهها فقط خواندنی هستند و هر لایه تغییرات و افزودههایی نسبت به لایه قبلی دارد.
- وقتی یک کانتینر ایجاد میشود، یک لایه نوشتنی به بالای این لایههای فقط خواندنی اضافه میشود.
بنابراین، از دید کانتینر، تمام این لایهها بهصورت یک سیستم فایل یکپارچه دیده میشوند. اما در واقعیت، لایه نوشتنی و لایههای فقط خواندنی جدا از هم هستند.
https://en.wikipedia.org/wiki/UnionFS
چرا ایمیج حذف نمیشود؟
وقتی یک کانتینر از یک ایمیج ایجاد میشود، آن کانتینر به لایههای ایمیج وابسته است. به همین دلیل، تا زمانی که کانتینر وجود دارد (حتی اگر متوقف شده باشد):
- لایههای فقط خواندنی ایمیج در حال استفاده هستند.
- اگر ایمیج حذف شود، کانتینر نمیتواند به لایههای مورد نیاز خود دسترسی پیدا کند و در نتیجه خراب میشود.
Docker برای جلوگیری از این مشکل، اجازه حذف ایمیجهایی که در حال استفاده هستند را نمیدهد و در نهایت فقط میتوانید تگ آن را حذف کنید نه بادی ایمیج را.
ارتباط Copy-on-Write و UnionFS
- UnionFS امکان استفاده از چندین لایه سیستم فایل را فراهم میکند و باعث میشود ایمیجها و کانتینرها بهصورت مؤثری مدیریت شوند.
- Copy-on-Write تضمین میکند که تنها زمانی تغییرات در دادهها ایجاد شوند که واقعاً لازم باشد، بدون تغییر لایههای اصلی (فقط خواندنی) ایمیج.
این دو مکانیزم با هم کار میکنند تا Docker بتواند ایمیجها و کانتینرها را بهصورت کارآمد مدیریت کند.
چگونه ایمیج را حذف کنیم؟
اگر بخواهید یک ایمیج را حذف کنید، ابتدا باید تمام کانتینرهای وابسته به آن را حذف کنید. مراحل کلی عبارتند از:
1. لیست کانتینرهای وابسته به ایمیج:
docker ps -a --filter ancestor=<image_name_or_id>
2. حذف کانتینرهای وابسته:
docker rm <container_id>
3. حذف ایمیج:
docker rmi <image_name_or_id>
#docker #copy_on_write #union_file_system
@Syntax_fa
👍1
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
💠 تانل کردن کل سیستم برای عبور از فیلترنیگ سختی های خودش را دارد
نیازه فقط ابزار هایی که نیاز به VPN دارن ترافیک را از VPN عبور دهند
یکی از راه های ساده استفاده از Socks است
✅ اگر از Socks به عنوان پروکسی استفاده میکنید
❌ میدانید که نرم افزارهای زیادی مثل Vscode اجازه استفاده از Socks را به صورت
محدود ارائه میکنند و نیازه شما http پروکسی داشته باشید ابزار gost کارایی زیادی داره یکی از کاربردها همین کاربرد است
🔥 روش استفاده :
فرض میکنیم که ساکس شما روی پورت ۹۰۹۰ است
حالا یک http پروکسی دارید روی 8282
این connect را هم ببینید
❤️ ممنون از حمایت هاتون 💐🌺
#VPN
نیازه فقط ابزار هایی که نیاز به VPN دارن ترافیک را از VPN عبور دهند
یکی از راه های ساده استفاده از Socks است
✅ اگر از Socks به عنوان پروکسی استفاده میکنید
❌ میدانید که نرم افزارهای زیادی مثل Vscode اجازه استفاده از Socks را به صورت
socks5://[yourip]:[yourport]
محدود ارائه میکنند و نیازه شما http پروکسی داشته باشید ابزار gost کارایی زیادی داره یکی از کاربردها همین کاربرد است
🔥 روش استفاده :
فرض میکنیم که ساکس شما روی پورت ۹۰۹۰ است
gost -L=http://:8282 -F=socks5://127.0.0.1:9090
حالا یک http پروکسی دارید روی 8282
این connect را هم ببینید
❤️ ممنون از حمایت هاتون 💐🌺
#VPN