از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
داکر چیست؟ درک اجزای آن و روش عملکرد آن در سال 1403
سرفصلهای مطلب
Docker یک پلت فرم منبع باز انقلابی است که روش ساخت، استقرار و مدیریت نرم افزار را تغییر می دهد. داکر container فناوری توسعه دهندگان را قادر می سازد تا برنامه های کاربردی را در واحدهای استاندارد شده برای استقرار یکپارچه بسته بندی کنند.
این کانتینرها همه چیزهایی را که برای اجرای یک برنامه لازم است، از کد گرفته تا وابستگی ها، در خود گنجانده اند.
در این مقاله، یک نمای کلی از Docker ارائه میکنیم، اجزای آن را بررسی میکنیم و چگونگی تغییر استقرار و مدیریت برنامههای کاربردی کانتینری را بررسی میکنیم.
چه یک توسعه دهنده باشید، چه یک متخصص فناوری اطلاعات، یا صرفاً کنجکاو در مورد آخرین روند استقرار نرم افزار، درک اصول Docker و آن باشید. container فناوری گامی به سوی محیط نرم افزاری چابک تر و ایمن تر است.
داکر چیست؟
Docker یک پلت فرم منبع باز قدرتمند است که از کانتینرها برای ساده سازی ایجاد، استقرار و اجرای برنامه ها استفاده می کند. این کانتینرها به توسعه دهندگان این امکان را می دهند که یک برنامه را با تمام اجزای ضروری آن مانند کتابخانه ها و سایر وابستگی ها بسته بندی کنند و آن را به صورت یک بسته ارسال کنند.
کانتینرهای داکر چیست؟
در هر معرفی Docker، کانتینرها بستههای نرمافزاری سبکوزن، مستقل و قابل اجرا هستند که همه چیز لازم برای اجرای یک برنامه را در خود گنجاندهاند. آنها شامل کد، زمان اجرا، ابزارهای سیستم، کتابخانه ها و تنظیمات هستند.
Docker برنامههای کاربردی را در این کانتینرها اجرا میکند و از سازگاری و سازگاری در محیطهای محاسباتی مختلف، از رایانه توسعهدهنده گرفته تا یک مرکز داده در مقیاس بالا، اطمینان حاصل میکند. بستههای Docker برای این مهم هستند process با در بر گرفتن تمام عناصر ضروری یک برنامه.
به عنوان یک فناوری منبع باز، Docker یک رویکرد انعطاف پذیر برای استقرار نرم افزار با نسخه جامعه خود ارائه می دهد. Docker Community Edition که برای توسعه دهندگان فردی و تیم های کوچک طراحی شده است، تعهد Docker را به ارائه ابزارهای قابل دسترس و سازگار برای طیف گسترده ای از کاربران نشان می دهد.
بیایید مزایای اصلی کانتینرهای Docker را بررسی کنیم:
- یک لایه سیستم عامل – برخلاف ماشینهای مجازی سنتی و سنگین، کانتینرهای Docker اجازه میدهند چندین کانتینر نرمافزاری با هم وجود داشته باشند روی همان سیستم بدون نیاز به نمونه های سیستم عامل جداگانه.
- طبیعت سبک – از آنجایی که کانتینرها به اشتراک گذاشته می شوند host هسته سیستم، فضای کمتری مصرف می کنند و به منابع کمتری نیاز دارند در حالی که مزایای عملکرد قابل توجهی را ارائه می دهند.
- محیط صرفه جویی در زمان – با ایجاد کانتینرهای Docker، توسعه دهندگان می توانند کل محیط زمان اجرا را کپسوله کنند. این شامل برنامه، وابستگی های فوری آن، باینری های ضروری و فایل های پیکربندی می شود.
- کارایی بیشتر – داکر container تصاویر، عکسهای فوری قابل حمل و ثابتی هستند containerمحیط زیست برنامه ها می توانند با استفاده از Docker به طور یکنواخت اجرا شوند container تصویر، صرف نظر از مکان و زمان استقرار.
در نتیجه، مؤلفههای Docker به طور مؤثر «این کار میکند» رایج را حذف میکنند روی ماشین من» مشکل، اطمینان از عملکرد مداوم برنامه ها در محیط های مختلف.
علاوه بر این، کانتینرهای Docker به شما امکان نصب برنامه های مختلف از جمله وردپرس را می دهند. شما فقط باید وردپرس را به عنوان یک تصویر Docker استقرار دهید تا آن را در a نصب کنید container.
Docker چگونه کار می کند؟
در قلب عملکرد Docker، Docker Engine قرار دارد، یک برنامه کاربردی سرویس گیرنده-سرور قدرتمند با سه جزء اصلی:
- سرور یک برنامه طولانی مدت به نام دیمون است process ( بارانداز فرمان).
- Docker API برنامه رابط را برای ارتباط با دیمون و دستور دادن به آن مشخص می کند روی چه باید کرد
- آ command-line مشتری رابط (CLI) بارانداز فرمان).
دیمون داکر اجرا می شود روی را host سیستم عامل و کانتینرهای Docker را مدیریت می کند. وظایفی مانند ساخت، اجرا و توزیع کانتینر را بر عهده دارد. هنگامی که دستورات را از طریق Docker CLI صادر می کنید، آنها با شبح Docker ارتباط برقرار می کنند و آن را قادر می سازند تا کانتینرهای Docker را بسازد، مدیریت کند و اجرا کند.
به زبان ساده، داکر دیمون کانتینرها را با استفاده از تصاویر داکر مدیریت می کند. این تصاویر با استفاده از یک سری دستورات Docker ایجاد می شوند که پارامترها و اجزای لازم برای برنامه را تعریف می کنند.
معماری داکر از چندین ویژگی هسته لینوکس استفاده می کند، مانند فضاهای نام و cgroups، برای جدا کردن containerدیدگاه سیستم عامل و محدود کردن دسترسی آن به منابع. این ایزوله اجازه می دهد تا چندین کانتینر به طور همزمان کار کنند روی یک نمونه لینوکس، که هر کدام را تضمین می کند container منزوی و امن باقی می ماند.
مطالعه پیشنهادی
برگه تقلب Docker جامع ما را بررسی کنید تا همه دستورات ضروری را یاد بگیرید.
چرا از Docker استفاده کنیم؟
استفاده از Docker کل چرخه عمر برنامه ها را ساده می کند. یکی از مزایای اصلی داکر، اطمینان از محیط های سازگار از توسعه تا تولید است.
کانتینرهای Docker برنامه و محیط آن را محصور می کنند و عملکرد یکنواختی را در مراحل توسعه و استقرار ارائه می دهند.
علاوه بر این، داکر به طور قابل توجهی استقرار را ساده می کند process. بستهبندی برنامهها و وابستگیهای آنها به ظروف Docker، استقرار آسان، سریع و قابل اعتماد را در محیطهای مختلف امکانپذیر میسازد.
ادغام Docker Hub و خدمات رجیستری Docker این امر را بیشتر افزایش می دهد process، امکان مدیریت کارآمد و اشتراک گذاری تصاویر Docker را فراهم می کند.
ماهیت سبک Docker به این معنی است که شما می توانید به سرعت این ظروف را بچرخانید، مقیاس بندی کنید یا آن ها را خاموش کنید. این انعطاف پذیری و چابکی بیشتری را برای عملیات شما به ارمغان می آورد. ویژگیهای امنیتی Docker همچنین به شما اطمینان میدهد که برنامهها را به طور کارآمد و ایمن مستقر و نگهداری میکنید.
با این حال، تصاویر Docker می توانند در طول زمان سیستم شما را شلوغ کنند. برای جلوگیری از این امر، باید تصاویر Docker را مرتباً حذف کنید تا فضای ارزشمند دیسک را بازیابی کنید.
Docker برای چه مواردی استفاده می شود؟
تطبیق پذیری و کارایی Docker آن را برای کاربردهای مختلف محبوب کرده است. در اینجا چندین مورد استفاده از Docker در تنظیمات مختلف آورده شده است:
ساده سازی محیط های توسعه
Docker کارایی و سهولت بینظیری را در توسعه معرفی میکند process. فناوری Docker containerization به توسعه دهندگان کمک می کند تا محیط های ایزوله ای بسازند که تنظیمات تولید را منعکس کند. این قابلیت به ویژه برای برنامه های پیچیده ای که به گزینه های پیکربندی یا وابستگی های خاصی نیاز دارند مفید است.
با Docker Desktop، رابط کاربر پسند برای مدیریت کانتینرهای Docker، می توانید محیط های تولید را مستقیماً تکرار کنید. روی ماشین های محلی شما این تکرار شامل راه اندازی دقیق سیستم عامل ها، کتابخانه ها و حتی نسخه های خاص نرم افزار است که همگی در کانتینرهای Docker هستند.
علاوه بر این، سرویس Docker نقش مهمی در این امر ایفا می کند process. این امکان استقرار و مدیریت کانتینرها را در مقیاس فراهم می کند و توسعه دهندگان را قادر می سازد تا چندین کانتینر را به طور همزمان اجرا کنند.
این بدان معنی است که شما می توانید کار کنید روی اجزا یا نسخه های مختلف یک برنامه بدون هیچ گونه تداخلی.
معماری میکروسرویس ها
در توسعه نرم افزار مدرن، رویکرد میکروسرویس شامل تجزیه یک برنامه کاربردی به مجموعه ای از خدمات جزئی تر و به هم پیوسته است. هر سرویس خود را اجرا می کند process و از طریق مکانیسم های سبک وزن، اغلب از طریق یک API مبتنی بر HTTP، با دیگران ارتباط برقرار می کند.
به طور کلی، معماری میکروسرویس ها به دلیل انعطاف پذیری، مقیاس پذیری و ظرفیت برای استقرار و مدیریت مستقل هر سرویس مشهور است.
کانتینرهای داکر به طور ایده آل برای معماری میکروسرویس ها مناسب هستند. هر میکروسرویس را می توان در داکر خود کپسول کرد container، عملکرد و وابستگی های آن را از بقیه جدا می کند. این جداسازی توسعه، آزمایش و استقرار میکروسرویسهای فردی را ساده میکند و به طور کلی process کارآمدتر و کمتر خطا دارد.
بیایید به مزایای اصلی استفاده از فناوری میکروسرویس های Docker بپردازیم:
- مقیاس پذیری – می توانید به سرعت کانتینرهای Docker را شروع، متوقف و تکرار کنید. این به ویژه در معماری میکروسرویس که در آن خدمات مختلف ممکن است نیاز به مقیاس بندی مستقل داشته باشند، سودمند است روی تقاضا
- قابلیت نگهداری – با هر میکروسرویس در محیط خود، میتوانید سرویسهای فردی را بدون تأثیرگذاری بر دیگران بهروزرسانی و تغییر دهید.
- مدیریت سریعتر – این استقلال به شدت پیچیدگی برنامه را کاهش می دهد و اجرای ساده به روز رسانی ها و بهبودها را تسهیل می کند.
یکپارچه سازی مداوم و استقرار مداوم (CI/CD)
در خطوط لوله یکپارچه سازی و استقرار مداوم (CI/CD)، داکر ابزاری سازگار، قابل تکرار و کارآمد برای خودکارسازی تست و استقرار کد ارائه می دهد.
استفاده از کانتینرهای Docker در خطوط لوله CI/CD به توسعه دهندگان این امکان را می دهد که محیط های ایزوله و کنترل شده ایجاد کنند. شما می توانید خطوط کد جدید را در این محیط ها ادغام، آزمایش و استقرار دهید بدون اینکه محیط تولید زنده را تحت تأثیر قرار دهید. این انزوا تضمین می کند که هر تغییر قبل از ادغام در پایگاه کد اصلی به طور تمیز آزمایش می شود.
Docker Compose، ابزاری برای تعریف و اجرای چندcontainer برنامه های Docker، CI/CD را ساده تر می کند process. توسعه دهندگان را قادر می سازد تا محیط یک برنامه پیچیده را با استفاده از a توضیح دهند YAML فایل، اطمینان حاصل شود که محیط یکسان به طور مداوم در تمام مراحل خط لوله تکرار می شود.
یکی از مهمترین مزایای ادغام Docker در خطوط لوله CI/CD افزایش سرعت تحویل است. می توانید ظروف را به سرعت بالا و پایین بچرخانید و مراحل مختلف خط لوله را تسریع کنید.
علاوه بر این، سازگاری ارائه شده توسط Docker قابلیت اطمینان در استقرار را تضمین می کند process. اگر یک برنامه کاربردی در Docker کار کند، توسعه دهندگان می توانند مطمئن باشند container، همچنین در تولید کار خواهد کرد و منجر به شکست و عقبگرد کمتری در استقرار خواهد شد.
برنامه های کاربردی Cloud-Native
برنامه های کاربردی Cloud-Native برای اجرا در محیط ابری پویا و توزیع شده طراحی شده اند و فناوری کانتینری سازی Docker نقش مهمی در این رویکرد ایفا می کند. Containerization به ویژه در رایانش ابری مهم است زیرا تضمین می کند که برنامه ها قابل حمل هستند و می توانند به طور قابل اعتماد در محیط های محاسباتی مختلف اجرا شوند.
استفاده از Docker برای برنامههای بومی ابری به توسعهدهندگان اجازه میدهد تا به سرعت برنامههای توزیعشده خود را در فضای ابری مستقر کنند و از انعطافپذیری و مقیاسپذیری محیطهای ابری نهایت استفاده را ببرند و در عین حال خطرات قفل شدن فروشنده را کاهش دهند.
بنیاد محاسبات بومی ابری (CNCF) از این رویکرد حمایت می کند و بر اهمیت برنامه های کاربردی کانتینری در استقرار نرم افزار مدرن تاکید می کند. Docker با ارائه ابزارها و استانداردهای لازم برای ساخت و استقرار برنامه های کاربردی کانتینری، با چشم انداز CNCF همسو می شود.
هاستینگerVPS یک محیط بهینه برای اجرای برنامه های کاربردی ابری که با Docker توسعه یافته اند فراهم می کند. این محیط سرور خصوصی مجازی، عملکرد و مقیاسپذیری بسیار مهمی را برای برنامههای کاربردی ابری ارائه میدهد و آنها را قادر میسازد تا در صورت نیاز رشد کرده و تطبیق دهند.
علاوه بر این، Docker Trusted Registry می تواند به طور ایمن تصاویر Docker را ذخیره و مدیریت کند. این رجیستری، همراه با زیرساخت مقیاس پذیر میزبانی VPS، تضمین می کند که برنامه های کاربردی ابری با کارایی بالا، ایمن و به خوبی مدیریت می شوند.
تمرینات DevOps
Docker به طور یکپارچه با اصول DevOps، مجموعهای از شیوههایی که توسعه نرمافزار (Dev) و عملیات فناوری اطلاعات (Ops) را ترکیب میکند، هماهنگ میشود. این رویکرد بر اتوماسیون، همکاری و ارائه سریع خدمات تاکید دارد.
فناوری کانتینریسازی Docker مستقیماً از این اصول DevOps پشتیبانی میکند و روش توسعه مداوم، استقرار و اجرای نرمافزار تیمها در محیطهای مختلف را افزایش میدهد. این سازگاری برای تیمهای عملیاتی که این برنامهها را در تنظیمات تولید مستقر و مدیریت میکنند بسیار مهم است.
Docker در DevOps همچنین فرهنگ بهبود مستمر و آزمایش را تقویت می کند. از آنجایی که میتوانید به سرعت کانتینرهای Docker را راهاندازی، متوقف و تکرار کنید، آنها محیطی امن و کارآمد را برای آزمایش فناوریها و فرآیندهای جدید بدون ایجاد اختلال در جریانهای کاری موجود فراهم میکنند.
با Docker، میتوانید کانتینرها را بین اعضای تیم به اشتراک بگذارید و فرآیندهای توسعه و عملیات را سادهتر کنید.
علاوه بر این، Docker Swarm، یک orchestration ابزاری در اکوسیستم داکر، شیوههای DevOps را با خودکارسازی استقرار و مقیاسبندی برنامهها تقویت میکند. این اتوماسیون برای دستیابی به انتشار نرم افزارهای سریعتر و قابل اطمینان تر، کاهش احتمال خطای انسانی و تسریع در چرخش حیاتی است. process ویژگی ها یا به روز رسانی های جدید
چه چیزی برای استقرار Docker و Orchestration?
Docker گزینه های مختلفی را برای استقرار و تنظیم کانتینرها ارائه می دهد که هر کدام برای نیازها و اندازه های مختلف پروژه مناسب هستند.
مطالعه پیشنهادی
قبل از استقرار، روش نصب Docker را بیاموزید روی ماشین شما:
راهنمای نصب داکر اوبونتو
داکر CentOS راهنمای نصب
Docker Compose
Docker Compose ابزاری برای ساده کردن مدیریت پیچیده و چندcontainer برنامه های کاربردی در هر دو محیط توسعه و تولید. با استفاده از a YAML فایل برای تعریف سرویسها، شبکهها و حجمها، پیچیدگیهای سازماندهی چندین کانتینر را ساده میکند.
این ابزار به طور قابل توجهی مدیریت کانتینرهای متصل به هم را آسان می کند. برای مثال، Docker Compose میتواند همه این مؤلفهها را بهعنوان یک برنامه یکپارچه در یک برنامه وب مدیریت کند که به کانتینرهای جداگانه برای پایگاه داده، وب سرور و سرور برنامه نیاز دارد.
Docker Compose در محیط های توسعه محلی نیز ارزشمند است. توسعه دهندگان می توانند محیط تولید یک برنامه پیچیده را تکرار کنند روی ماشین های محلی آنها، منعکس کننده یک چندcontainer راه اندازی با تمام وابستگی هایش
این پیکربندی تضمین میکند که وقتی توسعهدهندگان کانتینرهای Docker را اجرا میکنند، برنامههای خود را در محیطهایی که شبیه تولید هستند آزمایش و استقرار میدهند و احتمال مشکلات مربوط به استقرار را کاهش میدهند.
کوبرنتیس
Kubernetes که با نام K8 نیز شناخته می شود، یک منبع باز است container orchestration سکو. برای خودکارسازی استقرار، مقیاسبندی و عملکرد برنامههای کاربردی کانتینری عالی است. بسیاری از توسعه دهندگان آن را برای مدیریت پیچیدگی ها و چالش های Docker ترجیح می دهند orchestration در مقیاس
در هسته خود، Kubernetes کانتینرهای Docker را با سازماندهی آنها در pods مدیریت می کند – مجموعه هایی از یک یا چند کانتینر که به عنوان یک واحد در نظر گرفته می شوند. این رویکرد در محیط های پیچیده ای که کانتینرها باید به طور یکپارچه با هم ارتباط داشته باشند، حیاتی است.
یکی از نقش های برجسته Kubernetes ظرفیت آن برای خودکارسازی جنبه های مختلف است container مدیریت، فراتر از قابلیت های دستورات سنتی لینوکس و کتابچه راهنمای کاربر container رسیدگی.
این اتوماسیون استقرار کانتینرهای مبتنی بر را پوشش می دهد روی پارامترهای تعریف شده توسط کاربر و مقیاس بندی و مدیریت پویا آنها برای اطمینان از عملکرد بهینه و استفاده از منابع.
علاوه بر این، Kubernetes دارای یک جامعه بزرگ و فعال است و با ارائه دهندگان اصلی ابر سازگار است و طیف وسیعی از ابزارها و پروژه های منبع باز را ارائه می دهد که عملکرد آن را افزایش می دهد. این پشتیبانی گسترده، Kubernetes را به یک پلتفرم همه کاره تبدیل میکند که میتواند به صورت عمومی، خصوصی، روی-محل، یا محیط های ترکیبی.
Docker Swarm
Docker Swarm یک داخلی است orchestration ابزاری برای داکر مدیریت خوشههای Docker را ساده میکند و آن را به گزینهای ایدهآل برای سازماندهی چندین کانتینر Docker تبدیل میکند. Docker Swarm گروهی از میزبانهای Docker را به یک Docker مجازی تبدیل میکند host، ساده سازی process مدیریت کانتینرها در میزبان های مختلف.
برخلاف Kubernetes، Docker Swarm مخصوصاً برای استقرار در مقیاس کوچکتر بدون سربار و پیچیدگی مناسب است. این یک رویکرد ساده ارائه می دهد orchestration، به کاربران اجازه می دهد تا دسته ای از کانتینرهای Docker را به سرعت تنظیم و مدیریت کنند.
Docker Swarm به عنوان یک راه حل کاربر پسند و در دسترس برای Docker متمایز است orchestration، حصول اطمینان از اینکه حتی کسانی که تازه به container orchestration می توانند کانتینرهای Docker خود را به طور موثر مدیریت کنند. خودکار می کند container وظایف توزیع، متعادل سازی بار و مدیریت خرابی، ساخت داکر container مدیریت ساده تر و شهودی تر است.
جنکینز
جنکینز یک سرور اتوماسیون منبع باز است که برای فرآیندهای CI/CD تحسین شده است. ماهیت قوی و قابل انطباق آن، آن را به یک انتخاب اصلی برای خودکارسازی خطوط لوله CI/CD، به ویژه آنهایی که شامل کانتینرهای Docker هستند، تبدیل می کند.
با نصب Jenkins، میتوانید کارهای حیاتی مانند ساخت تصاویر Docker، اجرای آزمایشها در کانتینرها و استقرار کانتینرها در محیطهای تولید را خودکار کنید. علاوه بر این، جنکینز در ایجاد خطوط لوله سفارشی برتری دارد و طیف گسترده ای از افزونه ها و ابزارها را برای پروژه های مبتنی بر Docker ارائه می دهد.
علاوه بر این، هاستینگerمیزبانی VPS یک محیط ایده آل برای اجرای سرورهای جنکینز است. عملکرد استثنایی و مقیاس پذیری ارائه شده توسط میزبان VPS کاملاً خواسته های جنکینز را تکمیل می کند و عملکرد روان و کارآمد سرور اتوماسیون را تضمین می کند.
میزبانی جنکینز روی هاستینگerVPS سازمانها را قادر میسازد تا از یک زیرساخت قوی برای خودکارسازی خطوط لوله Docker CI/CD خود استفاده کنند. این هم افزایی قابلیت های ارائه و استقرار نرم افزار آنها را افزایش می دهد و چرخه عمر توسعه را ساده می کند.
نتیجه
در طول این مقاله، ما بررسی کردهایم که چگونه فناوری Docker انقلابی در استقرار و مدیریت برنامهها ایجاد میکند. Docker سطح بی نظیری از کارایی و انعطاف پذیری را در توسعه نرم افزار فراهم می کند.
استفاده از Docker در سیستم های لینوکس ثابت کرده است که محیط های توسعه را ساده می کند و خطوط لوله CI/CD پیچیده را تسهیل می کند. این به طور موثر شکاف بین توسعه دهندگان و تیم های عملیاتی را پر می کند، فرآیندهای پیچیده را خودکار می کند و ثبات را در پلتفرم های مختلف تضمین می کند.
از سادهسازی محیطهای توسعه گرفته تا پیروی از بهترین شیوههای DevOps، Docker به طور مداوم به عنوان یک پلت فرم عالی برای استقرار و مدیریت برنامهها متمایز میشود.
سوالات متداول Docker چیست
این بخش به رایج ترین سوالات در مورد Docker برای مبتدیان و حرفه ای ها پاسخ می دهد.
تفاوت بین داکر و ماشین مجازی چیست؟
داکر و ماشین های مجازی در روش جداسازی منابع متفاوت هستند. کانتینرهای Docker سیستم عامل را مجازی می کنند و به اشتراک می گذارند host هسته سیستم عامل، آنها را سبک و سریع می کند. در مقابل، ماشینهای مجازی (VM) کل سیستمهای سختافزاری را مجازیسازی میکنند و یک سیستم عامل مهمان تمام عیار را اجرا میکنند که منجر به عملیاتهایی با منابع فشردهتر میشود.
آیا باید از Docker یا VM استفاده کنم؟
انتخاب بین Docker و VM بستگی دارد روی نیازهای خاص شما Docker ظروف سبک وزن را با داکر اجرا فرمان، آن را برای ایجاد محیط های سازگار و تسهیل استقرار سریع ایده آل می کند. از سوی دیگر، ماشین های مجازی برای سیستم های کاملا ایزوله که به منابع اختصاصی و امنیت بیشتر نیاز دارند، مناسب ترند.
آیا جایگزینی برای کانتینرسازی برای Docker وجود دارد؟
بله، جایگزین هایی برای Docker برای کانتینرسازی وجود دارد. باز Container Initiative (OCI) توسعه ابزارهای منطبق با استانداردها مانند Podman و Container را تشویق کرده است. مانند Docker، این ابزارها به شما اجازه میدهند تا کانتینرها را ایجاد و اجرا کنید و از قابلیت همکاری و استانداردسازی در آن اطمینان حاصل کنید container فن آوری ها
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-29 01:59:04