Docker

داکر چیست و چه کاربردی دارد ؟

عمومی کامپیوتر
بدون دیدگاه
487

داکرDocker یک پلتفرم نرم افزاری و متن باز است که به توسعه دهندگان این امکان را میدهد که به سرعت برنامه ها را بسازند ، آزمایش و راه اندازی کنند .داکر،یک نرم افزار را به واحدهایی با اندازه استاندارد به نام کانتینرها بسته بندی میکند و این کانتینرها هرآن چیزی که این نرم افزار برای اجرا نیاز دارد از جمله کتابخانه ها ، ابزارهای سیستمی ، کد و زمان اجرا را در اختیارش قرار میدهد. با استفاده از داکر، میتوانید برنامه ها را در هر محیطی راه اندازی و مقیاس گذاری ، به روز رسانی و اجرا کنید و این اطمینان را حاصل کنید که کد شما اجرا خواهد شد.

داکر چیست به زبان ساده

داکر چیست به زبان ساده

داکر Docker یک پلتفرم کانتینرسازی متن باز و محبوب است که به شما این امکان را میدهد که اپلیکیشن و تمام وابستگی هایش را در سطح سیستم عامل در واحدهای استانداردی به نام کانتینر بسته بندی کنید. کانتینر ها سبک هستند و این باعث قابل حمل شدن آنها میشود.

داکر یک کانتینر مستقل و سبک است که شامل همه چیزهایی است که برای اجرای یک برنامه نیاز دارید، از جمله کتابخانه ها، ابزارهای سیستمی، کد و زمان اجرا. داکر همچنین یک پلتفرم نرم افزاری است که به توسعه دهندگان امکان میدهد تا برنامه های کانتینری را سریعاً بسازند، آزمایش و منتشر کنند.

اجرای داکر بر روی AWS، یک راه کم هزینه و مطمئن برای ساخت، ارسال و اجرای برنامه های توزیع شده در هر مقیاسی به مدیران و توسعه دهندگان ارائه میدهد.

داکر با AWS همکاری میکند تا به توسعه دهندگان کمک کند تا تحویل برنامه ها را با سرعت بیشتری انجام دهند. این همکاری به توسعه دهندگان کمک میکند تا از داکر کامپوزر و داکر دسکتاپ استفاده کنند و از همان روند محلی که امروزه استفاده میکنند برای راه اندازی بدون مشکل برنامه ها در Amazon ECS و AWS Faregate استفاده کنند.

اجزای کلیدی داکر

داکر (Docker): یک پلتفرم نرم افزاری است که برای ایجاد ، ارسال و اجرای برنامه ها از فناوری کانتینر استفاده میکند. داکر در دو نسخه موجود است: نسخه شرکتی و نسخه عمومی

کانتینر(Container): برخلاف یک ماشین مجازی که مجازی سازی سخت افزاری را تامین میکند ، یک کانتینر مجازی سازی را در سطح سیستم عامل ارائه میدهد. یک کانتینر که روی سیستم میزبان اجرا میشود، واحد نرم افزاری استانداردی است که کد و تمام وابستگی های آن را بسته بندی کرده ، بنابراین برنامه ها میتوانند به سرعت از یک محیط به محیط دیگری اجرا شوند.

موتور داکر (Docker Engine): این بخش اصلی داکر است که کار مدیریت و ایجاد کانتینر را انجام میدهد. موتورهای داکر به عنوان یک برنامه کلاینت – سرور عمل میکنند که از کانتینرها بر روی سرورهای مختلف ویندوز و سیستم عامل لینوکس ، از جمله اوراکل لینوکس ،سنا اواس ، دبیان ، فدورا ، RHEL، سوزه و اوبونتو پشتیبانی میکند.

تصویر داکر (Docker Image): مجموعه ای از نرم افزارها که به عنوان یک کانتینر اجرا میشوند و حاوی مجموعه ای از دستور العمل ها برای ایجاد یک کانتینر هستند که میتوانند بر روی یک پلتفرم داکر اجرا شوند. تصاویر تغییرناپذیر هستند و تغییرات دریک تصویر نیاز به ساخت یک تصویر جدید دارد.

هاب داکر (Docker Hub) : این یک مخزن ابری است که برای پیدا کردن و به اشتراک گذاشتن تصاویر کانتینرها استفاده میشود.

داکر فایل (Docker File) : فایل داکر یک اسکریپت است که شامل دستورالعمل هایی برای ساخت یک تصویر داکر است میشود.

رجیستری داکر (Docker Registry) : رجیستری داکر جزء یک سیستم توزیع و ذخیره سازی برای تصاویر داکر است که یک برنامه سمت سرور مقیاس پذیر است و میتواند تصاویر داکر را در حالت عمومی یا خصوصی در آن ذخیره و توزیع کند.

موتور داکر(Docker Engine)

نرم افزاری که میزبان کانتینرها است ، با نام موتور داکر یا Docker Engine شناخته میشود. موتورداکر یک برنامه مبتنی بر کلاینت – سرور است. موتور داکر دارای سه بخش اصلی است :

  • سرور
  • REST API
  • کلاینت

سرور: مسئول ساخت و مدیریت تصاویر داکر ، کانتینر ها ، شبکه ها و ولوم ها بر روی داکر است. این بخش به عنوان یک فرآیند دایمون (Daimon) شناخته میشود.

REST API: مشخص میکند که برنامه ها چگونه میتوانند با سرور تعامل داشته باشند و به آن دستور میدهد که چه کاری انجام دهند.

کلاینت: یک رابط خط فرمان داکر (CLI) است که به ما اجازه میدهد تا با استفاده از دستورات داکر با آن در ارتباط و تعامل باشیم.

داکر ایمیج (Docker Image)

داکر ایمیج یک فایل است که از لایه های مختلف تشکیل شده است و برای اجرای کد در یک کانتینر داکر استفاده میشود. داکرایمیج یک مجموعه دستورالعمل هستند که برای ایجاد کانتینرهای داکر به کار می رود. داکر ایمیج یک بسته اجرایی نرم افزاری است که شامل هر آن چیزی میشود که برای اجرای یک برنامه نیاز است. داکر ایمیج مشخص میکند که چگونه یک کانتینرباید ایجاد شود همچنین تعیین میکند که کدام یک از مولف های نرم افزار باید اجرا شوند و چگونه اینکار انجام شود.

داکر هاب (Docker Hub)

داکر هاب یک سرویس مبتنی بر ابر است که درآن افراد تصویر کانتینر داکر خود را بارگذاری میکنند و همچنین میتوانند هر زمان یا هرجا از اینترنت، تصاویر کانتینر داکر را دانلود کنند. به طور کلی اینکار، پیدا کردن و استفاده مجدد از تصاویر را آسان میکند. این سرویس ویژگی هایی را فراهم میکند که میتوانید تصاویر خود را به عنوان مخزن خصوصی یا عمومی بارگذاری کنید.

به طور کلی تیم های DevOps از داکر هاب استفاده میکنند. این ابزار متن باز است و به صورت رایگان برای تمام سیستم عامل ها در دسترس است. hub docker مانند یک فضای ذخیره سازی است که ما تصاویر را در آن ذخیره میکنیم و زمانی که نیاز داریم آنها را دانلود میکنیم. دانلود و آپلود تصاویر در هاب داکر بدون داشتن دانش پایه ای از داکر ممکن نیست.

فایل داکر (Docker File)

Dockerfile از DSL استفاده میکند و شامل دستوراتی برای تولید یک تصویر Docker است. Docker file فرایندهای را تعریف میکند که موجب تولید سریع تر یک تصویر میشوند. دیمون Docker که اغلب به آن Docker گفته میشود ، یک سرویس پس زمینه است که کانتینرهای Docker را در یک سیستم مدیریت میکند.

Dockerfile یک سند متنی است که شامل دستورات ضروری میشود که با اجرا کردن آنها به جمع آوری یک تصویر Docker کمک میکند. تصویر داکر با استفاده از فایل داکر ایجاد میشود.

رجیستر داکر(Docker Register)

با وجود اینکه تصاویر داکر به سادگی ساخته میشوند و توسعه دهندگان از سادگی و قابلیت حمل آنها لذت میبرد با اینحال مدیریت هزاران تصویر داکر بسیار چالش برانگیز و به نوعی سخت است.رجیستری داکر به این موضوع رسیدگی میکند. رجیستری داکر یک روش استاندارد برای ذخیره سازی تصاویر داکر است. این رجیستری یک مخرن مبتنی بر کد باز(متن باز) تحت مجوز آزاد آپاچی است.

رجیستری داکر همچنین به بهبود کنترل دسترسی و امنیت تصاویر داکری که در مخزن ان ذخیره شده اند کمک میکند . این رجیستری مدیریت توزیع تصاویر را انجام میدهد و همچنین میتواند با جریان کار و توسعه برنامه ها یکپارچه شود. توسعه دهندگان میتوانند رجیستری داکر خود را راه اندازی کنند و یا از خدمات رجیسیتری داکر میزبانی شده ، مانند داکر هاب ، رجیستری کانتینر اوراکل ، رجیستری کانتینر آژور استفاده کنند.

هاب داکر یک رجیستری داکر میزبانی شده است که توسط داکر مدیریت میشود. هاب داکر بیش از 100,000 تصویر کانتینر از فروشندگان نرم افزار ، پروژه های کد باز و جامعه دارد.هاب داکر شامل نرم افزارها و برنامه هایی از مخازن رسمی مانند NGINX، لاگ استاش، آپاچی HTTP، گرافانا، MySQL، اوبونتو و لینوکس اوراکل است.

زمانی که یک کانتینر راه اندازی میشود، داکر به صورت خودکار تصویر مربوطه را از هاب داکر دانلود میکند. علاوه بر این شما همچنین میتوانید تصاویر خود راایجاد کرده و آنها را به هاب داکر در یک مخزن عمومی یا خصوصی بارگذاری کنید.

کانتینر(Container) چیست؟

کانتینرها اجزای استاندارد و قابل اجرا هستند که همه کدها و وابستگی های یک برنامه را در یک قالب استاندارد با کتابخانه ها و اجزای دیگر سیستم عمل (OS) ترکیب میکنند و این امکان را فراهم میکنند که کدها به سرعت درمحیط های محاسباتی اجرا شوند.

کانتینرها مستقل و سبک هستند و شامل همه چیزهایی میشوند که برای اجرای یک برنامه به آنها نیاز دارید؛ از جمله کتابخانه ها ، ابزارهای سیستمی ،کد و زمان اجرا. کانتینرها از زیرساخت های اصلی و از یکدیگر جدا هستند و سبک بودنشان سبب قابل حمل شدن آنها میشود.شما میتوانید کانتینر داکر را در هر سیستمی که داکر بر روی آن نصب شده است اجرا کنید بدون اینکه به سیستم عامل وابسته باشید.

کانتینرها توسعه و تحویل برنامه های توزیع شده را ساده میکنند. کانتینرها به طور فزاینده ای محبوب شده اند؛ زیرا سازمان ها به توسعه ابری ومحیط های چند ابری هیبریدی روی آورده اند. توسعه دهندگان میتوانند بدون داکر ، کانتینرها را با استفاده از قابلیت های موجود در لینوکس و سیستم عامل های دیگر بسازند ، اما داکر ساخت کانتینرها را سریع تر و آسان تر میکند.

کانتینرها چگونه کار می‌کنند؟

کانتینرها به لطف ایزولاسیون فرآیند و قابلیت مجازی سازی که درهسته لینوکس وجود دارد،توسعه پیدا کرده اند. این قابلیت ها شامل گروه های کنترلی (Cgroups)برای تخصیص منابع بین فرآیندها برای محدود کردن دسترسی به منابع یا نواحی دیگر سیستم هستند.

کانتینرها اجازه میدهند که چندین مولفه ی برنامه ، منابع یک نمونه از سیستم عامل میزبان را به اشتراک بگذارند. این به اشتراک گذاری شبیه به این است که یک هایپروایزر اجازه میدهد چندین ماشین مجازی (VM) از واحد پردازش مرکزی (CPU) ، حافظه و سایر منابع یک سرور سخت افزاری به صورت مشترک استفاده کنند.

فناوری کانتینر تمام عملکردها و مزایای ماشین های مجازی (VM) را ارائه میدهد. از جمله ایزولاسیون برنامه و مقیاس پذیری مقرون به صرفه و یکسری مزایای دیگرکه در زیر به بررسی آن میپردازیم:

وزن سبک تر: برعکس ماشین های کجازی ، کانتینرها بار سیستم عامل و هایپروایزر را به دوش نمیکشند. آن ها فقط شامل فرآیندهای سیستم عامل و وابستگی های لازم برای اجرای کد هستند. اندازه کانتینرها با مگابایت اندازه گیری میشود و این سبک بودن آنها زمان راه اندازی را سریع تر میکند.

افزایش بهره وری : برنامه های کانتینری شده میتوانند یک بار نوشته شده و پس از ان در هرجایی اجرا شوند. در مقایسه با ماشین های مجازی (VM) کانتینرها سریع تر و راحت تر قابل استقرار و تامین و راه اندازی مجدد هستند.

کارایی بیشتر: با کانتینرها توسعه دهندگان میتوانند دفعات بیشتری برنامه را برروی همان سخت افزار اجرا کنند ؛نسبت به زمانی که از ماشین های مجازی استفاده میکنند. این کارایی بالا میتواند هزینه های سرور های ابری را کاهش دهد.

کارایی بیشتر: با کنتینرها، توسعه‌دهندگان می‌توانند چندین بار بیشتر از یک برنامه را بر روی همان سخت‌افزار اجرا کنند نسبت به زمانی که از VMها استفاده می‌کنند. این کارایی می‌تواند هزینه‌های ابری را کاهش دهد.

سازمان هایی که از کانتینر استفاده میکنند از مزایای دیگری مانند بهبود کیفیت برنامه ، پاسخ سریعتر به تغییرات بازار و …. بهره مند میشوند.

چرا کانتینرها مفید هستند؟

قابلیت جابجایی: محیط ایزوله ای که کانتینرها فراهم میکنند به این معنا است که کانتینر از محیطی که در ان اجرا میشود جدا شده است. دراصل آنها قابلیت جابجایی دارند وبه یک مکان وابستگی ندارد و میتوانند در محیط های مختلف وبرروی سیستم عامل ها و پلتفرم های سخت افزاری متفاوت اجرا شوند.

ثبات : از آنجا که کانتینرها ازمحیطی که در آن اجرا میشوند جدا شده اند؛ صرف نظر از اینکه درکجا مستقر شده اند، میتوان اطمینان داشت که به یک شکل عمل میکنند . کار انها ایجاد یک محیط ایزوله است و بدون شک این محیط ایزوله را درهرجایی که مستقر شوند ایجاد میکنند.

سرعت استقرار : همانطور که در بالا گفته شد کانتینرها قابلیت استقرارو اجرا در یک محیط دیگر را دارند و جابجایی از یک محیط به محیط دیگر (مثلا یک ارائه دهنده ابری دیگر) دراین کانتینرها با سرعت بسیار زیادی انجام میگیرد.

دستورات داکر

با معرفی دستورات اساسی داکر ، داکر به نرم افزاری قدرتمند برای سهولت مدیریت کانتینر تبدیل شد.موارد زیر برخی از دستورات Docker هستند که به طور معمول مورد استفاده قرار میگیرند:

Docker Run: از این دستور برای راه اندازی یک کانتینر ازعکس استفاده میشود.

Docker Pull: این دستور تصاویر کانتینر را از مخزن کانتینر مانند هاب داکر به ماشین محلی می آورد.

Docker PS: به نمایش کانتینرهای درحال اجرا به همراه اطلاعات مهمی مانند : شناسه کانتینر، تصویر استفاده شده و وضعیت آنها کمک میکند.

Docker Stop: به متوقف کردن کانتینرهای درحال اجرا ، با خاموش کردن آرام فرآیندهای درون آنها کمک میکند.

Docker Start: به شروع فرآیند کانتینرهای متوقف شده و ادامه عملیات آنها از وضعیت قبلی کمک میکند.

Docker Login: به ورود به مخزن داکر برای دسترسی به مخازن خصوصی کمک میکند.

دلایل محبوبیت داکر

داکر(Docker) به دلیل تاثیری که بر توسعه واستقرار نرم افزار دارد محبوبیت زیادی پیدا کرده است.در ادامه به برخی از دلایل اصلی مجبوبیت داکر اشاره میکنیم:

  • قابلیت حمل
  • قابلیت بازتولید
  • کارایی
  • قابلیت مقیاس پذیری

قابلیت حمل داکر

داکر به توسعه دهندگان کمک میکند که اپلیکیشن های خود را با تمام اجزای وابسته به آن در یک کانتینر سبک بسته بندی کنند. این ویژگی باعث میشود که عملکرد ثابت و یکسانی در محیط های مختلف محاسباتی داشته باشند.

قابلیت بازتولید

با قرار دادن اپلیکیشن ها و اجزای وابسته به آنها در یک کانتینر ، داکر این اطمینان را میدهد که تنظیمات نرم افزاری در محیط توسعه و تست و تولید ثابت باقی بماند.

کارایی

داکر با معماری مبتنی بر کانتینری که دارد، استفاده از منابع را بهینه میکند. این ویژگی به توسعه دهندگان اجازه میدهد تا چندین اپلیکیشن جداگانه را برروی یک سیستم میزبان اجرا کنند.

قابلیت مقیاس پذیری

ویژگی مقیاس پذیری داکر به توسعه دهندگان کمک میکند تا در زمان افزایش بار، بتوانند اپلیکیشن های خود را راحت تر مدیریت کنند.

چه کسانی از داکر استفاده میکنند؟

Docker یک فریمورک آزاد برای طراحی برنامه است. با استفاده از داکر توسعه دهندگان به راحتی میتوانند برنامه ها را بسازند ، جمع آوری و ارسال کنند و به عنوان کانتینرهای سبک ، قابل حمل و خودکفا اجرا کنند. کانتینرها این امکان را به توسعه دهندگان میدهند که یک برنامه را به همراه تمامی وابستگی هایش اجرا کنند . با ارائه کانتینرها، برنامه های از قبل ساخته شده و خودکفا میتوانند بر روی کد برنامه تمرکز کنند و بدون نگرانی درباره سیستم عامل از آن استفاده کنند.علاوه بر آن، توسعه دهندگان میتوانند از هزاران برنامه کانتینری منبع باز که قبلا طراحی شده اند تا در یک کانتینر اجرا شوند ، بهره ببرند.

چرا باید از داکر استفاده کنیم؟

داکر میتواند برای بسته بندی برنامه ها و اجزای وابسته به آن مورد استفاده قرار بگیرد. داکرباعث میشود اجرای برنامه در محیط تولید به آسانی انجام گیرد و اگر موتور داکر بر روی دستگاه نصب شده باشد ،کانتینر داکر میتواند مستقل از پلتفرم باشد.

بهره وری منابع : داکر با اجرا کردن چندین کانتینر روی یک میزبان به بهره وری حداکثری از منابع کمک میکند و این بهره وری کمک میکند که هزینه های زیرساختی کاهش پیدا کند .

کنترل نسخه : این کار نسخه های برنامه ها را ساده سازی میکند ، ثبات آنها را تضمین مکیند و همکاری بین تیم ها را ساده تر میکند.

چابکی و سرعت میکروسرویس ها : این ویژگی امکان پذیرش میکروسرویس هارا فراهم میکند و مقیاس پذیری ، انعطاف و جداسازی خطا را برای توسعه سریع برنامه ها ارتقا میدهد.

مزایای Docker

در اینجا به بررسی برخی از مزایای داکر میپردازیم:

  • مقیاس پذیری و قابلیت حمل نرم افزار
  • کارایی و سرعت
  • بهینه سازی منابع
  • ایزولاسیون و امنیت
  • تجربه پذیری
  • ادغام DevOps

قابلیت حمل نرم افزار

داکر با ایجاد کانتینرهای سبک و قابل حمل، این امکان را فراهم میکند که بتوان آن را بر روی هر ماشینی بدون توجه به سیستم عامل های پایه آن اجرا کرد. این ابزار همچنین میتواند به راحتی برنامه هارا مقیاس پذیر کند و این تضمین را داشته باشد که جابجایی این برنامه ها درمحیط های مختلف بدون دردسر انجام میگیرد.

کارایی و سرعت

داکر با فراهم کردن توسعه و استقرار یکپارچه ، با بسته بندی برنامه ها و اجزای آنها در کانتینرهای یکنواخت ، کار را آسان میکند.

بهینه سازی منابع

داکر منابع سیستم میزبان را به صورت کارآمد اشتراک گذاری میکند و همچنین اجازه میدهد تا بهره برداری از برنامه ها بالاتر رود و به این شیوه درهزینه ها صرفه جویی میکند.

ایزولاسیون و امنیت

داکر با استفاده از کانتینرها سطح بالایی از ایزولاسیون را فراهم میکند و به برنامه ها اجازه میدهد تا به صورت مستقل از یکدیگر و بدون ایجاد تداخل با یکدیگر اجرا شوند و همچنین امنیت را نیز ارتقا میبخشد.

تجربه پذیری

توسعه دهندگان به کمک داکر میتوانند به راحتی برنامه ها و عکس هارا بازیابی کنند به عبارتی میتوانند بار ها و بارها از انها استفاده کنند. تجربه پذیری این امکان را برای ساخت های یکنواخت و قابل تجربه در محیط توسعه ، آزمایش و تولید فراهم میکند.

ادغام DevOps

داکر همکاری و اتوماسیون را در سراسر چرخه‌ عمر توسعه نرم افزار ارتقا می دهد وبه مدیریت بارهای کاری کمک میکند.

سوالات متداول درباره داکر

  1. هدف داکر چیه؟

    داکر یک پلتفرم نرم افزاری است که به شما اجازه میدهد تا برنامه هارا سریع تر بسازید و تست و راه اندازی کنید. داکر نرم افزار را در واحدهای استانداردی به نام کانتینر بسته بندی میکند که این کانتینر همه آن چیزی را که یک نرم افزا ربرای اجرا نیاز دارد از جمله کتابخانه ، ابزارهای سیستمی و زمان اجرا را شامل میشود.

  2. ویژگی‌های کلیدی داکر چیست؟

    اگرچه داکر ویژگی های زیادی ارائه می دهد، ما چند ویژگی اصلی آن را به شما معرفی میکنیم:
    تنظیمات آسان و سریع
    افزایش بهره وری
    تجربه پذیری
    کارایی و سرعت

  3. داکر چه مشکلاتی را حل می کند؟

    داکر یک پلتفرم قدرتمند است که مشکل استقرار و مدیریت نرم افزارهای کاربردی را با استفاده کانتینرسازی آسان میکند.

  4. چرا به داکر نیاز داریم؟

    داکر به دلایل زیادی محبوب شده است از جمله: قابلیت جابجایی ، ثبات و گسترش پذیری برای راه اندازی در محیط های مختلف . کانتینرهای داکر سبک هستند و سبک بودن وایزوله بودن آنها باعث محبوبیتشان در توسعه و پیاده سازی برنامه های مدرن شده است.

  5. چرا از کانتینرها استفاده کنیم؟

    کانتینرها امکان اشتراک گذاری CPU، حافظه و فضای ذخیره سازی و منابع شبکه را در سطح سیستم عامل فراهم میکنند و یک مکانیسم بسته بندی منطقی ارائه میدهند که به واسطه آن برنامه ها از محیط اجرایی جدا میشوند.

جمع بندی

دراین مقاله از رسانه نکست میزبان فا شما با مبانی و اصطلاحات رایج Docker آشنا شدید و یاد گرفتید که داکر چیست و چه کاربردی دارد و چه کسانی از این پلتفرم استفاده میکنند.داکر چیست ؟ داکر Docker یک پلتفرم کانتینرسازی متن باز و محبوب است که به شما این امکان را میدهد که اپلیکیشن و تمام وابستگی هایش را در سطح سیستم عامل در واحدهای استانداردی به نام کانتینر بسته بندی کنید. همانطور که در متن هم اشاره شد مبحث اصلی که در داکر مطرح است موضوع کانتینرها هستند که بدون آنها داکر خودش معنای خاصی پیدا نمیکند . کانتینرها اجزای قابل اجرایی هستند که همه کدهای یک برنامه را بدون اینکه به سیستم عامل وابستگی داشته باشند دسته بندی میکنند وبه آنها درهرجا قابلیت اجرای کد میدهند. داکر اجزای متفاوتی نیز دارد که از میان آنها میتوان به هاب داکر ،کانتینر، ماشین داکر و…. اشاره کرد که هرکدام کاربردهای خود را دارند این اجزا به یکدیگر وابسته هستند و بدون وجود هریک از انها کار به درستی پیش نمیرود.

لذت کار با وردپرس پرسرعت و پایدار

با 19 درصد تخفیف ویژه رونمایی سرورهای نسل جدید، هاست وردپرس را خریداری نمایید.

پربازدید ترین مطالب
مطالب مرتبط
این مطلب را می پسندید

5/5 - (1 رای)

نویسنده: محتوای تیمی کار شده

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Fill out this field
Fill out this field
لطفاً یک نشانی ایمیل معتبر بنویسید.

اشتراک گذاری مطلب