Md Daily – Telegram
Md Daily
729 subscribers
239 photos
15 videos
21 files
283 links
راجب مقالات و مستندات فنی یا غیر فنی که میخونم و علایقم اینجا مینویسم :)


گروه کانال: https://news.1rj.ru/str/MdDailyGap

کورس ها: https://news.1rj.ru/str/MdDaily/395

وبلاگ: https://mddaily.ir
Download Telegram
سلام دوستان :)

خیلی خوشحالم که خانواده ی MdDaily در کنار شما عزیزان در حال بزرگ تر شدنه 🫶

این اخر هفته چه دوره ای رو داشته باشیم؟
4
با تشکر از تمام عزیزانی که توی نظر سنجی شرکت کردند ❤️

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

Docker in Action
Learning Docker

پ ن:
فایل پی دی اف کتاب ها را هم قبل از شروع دوره میفرستم
5
Md Daily
دوره ها:
نظر سنجی فقط برای اولویت دادن به ترتیب قرار گیری دوره ها تو کانال بود
تمام موضوعاتی که توی نظرسنجی هستند دوره هاشون توی کانال منتشر خواهد شد
2
#ام_دی_کورس

🐳 کرش کورس داکر

توی این دوره از آموزش های MdDaily قرار باهم یه نگاه سریعی به داکر بندازیم، ببینیم برای چی ساخته شده، چه مشکلی رو قرار حل کنه و در نهایت چطوری باید ازش استفاده کنیم، پس با من همراه باشید‌ :)

ادامه در پست بعدی...


🆔 @MdDaily
3🔥1
#ام_دی_کورس

فایل پی دی اف کتاب هایی که به عنوان source این دوره ازشون استفاده شده

👇🏻👇🏻👇🏻

🆔 @MdDaily
2🔥1
Md Daily
#ام_دی_کورس 🐳 کرش کورس داکر توی این دوره از آموزش های MdDaily قرار باهم یه نگاه سریعی به داکر بندازیم، ببینیم برای چی ساخته شده، چه مشکلی رو قرار حل کنه و در نهایت چطوری باید ازش استفاده کنیم، پس با من همراه باشید‌ :) ادامه در پست بعدی... 🆔 @MdDaily
#ام_دی_کورس

داکر چیه و چه مشکلی را قرار حل کنه؟

خب با در نظر گرفتن سناریو های مختلف به این سوال پاسخ میدیم:

سناریوی اول:

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

سناریوی دوم:

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

سناریوی سوم:

شما به یه محیط آزمایشی نیاز دارید که توش یه سری دستورات را اجرا و تست کنید. پس باید از یک ماشین مجازی که نیاز به فضا و منابع زیادی داره استفاده کنید

سناریوی چهارم:

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

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

ادامه در پست بعدی...


🆔 @MdDaily
11👍1🔥1
#ام_دی_کورس

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

مگه چنتا ماشین مجازی رو میشه هم زمان روی یه سیستم برای هرکاری اجرا کرد :)

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


ادامه در پست بعدی...


🆔 @MdDaily
11🔥1
#ام_دی_کورس

توی دنیای داکر 3 مفهوم مهم و اساسی وجود داره:

📝 Dockerfile

💾 Image

📦 Container


در ادامه هر کدوم از این مفاهیم رو جداگونه بررسی میکنیم

ادامه در پست بعدی...


🆔 @MdDaily
1🔥1
#ام_دی_کورس

داکر فایل (Dockerfile) مثه یه دستور پخت میمونه، یه کد یا برنامه ایه که به داکر میگه چطوری Image ها را بیلد کنه

ادامه در پست بعدی...


🆔 @MdDaily
🔥2❤‍🔥1
Md Daily
#ام_دی_کورس داکر فایل (Dockerfile) مثه یه دستور پخت میمونه، یه کد یا برنامه ایه که به داکر میگه چطوری Image ها را بیلد کنه ادامه در پست بعدی... 🆔 @MdDaily
#ام_دی_کورس

داکر ایمیج(Image) یه فایلیه که حاوی همه چیز های لازم برای اجرای یه برنامه یا سرویسه. مثلاً اگه بخوایم یه وب سایت رو روی داکر اجرا کنیم، به یه داکر ایمیج نیاز داریم که حاوی کد وب سایت، سیستم عامل، کتابخانه ها و هر چیز دیگه ای باشه که وب سایت برای اجرا نیاز داره.

داکر ایمیج ها رو می تونیم با استفاده از دستورات داکر بسازیم یا از داکر رجیستری مثه داکر هاب دانلود کنیم. داکر رجیستری یه منبعیه که داکر ایمیج های آماده رو برای دانلود ارائه میده.

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


ادامه در پست بعدی...


🆔 @MdDaily
1🔥1
#ام_دی_کورس

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

یا به عبارت دیگه :

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


ادامه در پست بعدی...


🆔 @MdDaily
🔥31👍1
#ام_دی_کورس

خب تا اینجا با مفاهیم مهم و اساسی داکر آشنا شدیم و حالا وقت اینکه این مفاهیم رو توی عمل ببینیم :)


اگه داکر رو نصب ندارید برای استفاده از داکر توی لینوکس داکر انجین رو نصب کنید:
https://docs.docker.com/engine/install/

و برای مک و ویندوز از داکر دسکتاپ استفاده کنید:
https://docs.docker.com/get-docker/


تفاوت Docker Desktop با Docker Engine:

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


ادامه در پست بعدی...


🆔 @MdDaily
👍31🔥1👏1
#ام_دی_کورس

خب برای ساخت داکر فایل یک فایل بنام Dockerfile ایجاد می کنیم.

برای اینکه نیاز نباشه ما همه چیز رو مثل دپندسی و سیستم عامل از اول کانفیگ و آماده کنیم، میایم با استفاده از دستور:

FROM نسخه ی ایمیج:نام ایمیج

به داکرفایل میگیم که ما می خوایم از تمپلیت آماده مثلا اوبونتو استفاده کنیم :

FROM ubuntu:20.04

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

درنهایت داکر میاد ایمیج اوبنتو رو از رجیستری docker hub میگیره


ادامه در پست بعدی...


🆔 @MdDaily
1🔥1
#ام_دی_کورس

با استفاده از RUN میتونیم کامند اجرا کنیم :

RUN کامند

اینجا من میخوام از پکیج sl استفاده کنم پس:

RUN apt-get install sl

برای تنظیم و استفاده از environment variables هم از ENV استفاده میشه:

ENV مقدار:نام متغیر

برای نمونه من اینجا مقدار متغیر PORT رو روی 8080 قرار دادم:

ENV PORT=8080


ادامه در پست بعدی...


🆔 @MdDaily
1🔥1
#ام_دی_کورس

حالا میخوایم وقتی که داکر کانتینر اجرا میشه یه دستوری را اجرا کنه. برای این کار توی داکر فایل از CMD استفاده میکنیم:

CMD ["executable", "parameter1", "parameter2"]

توی ایمیج ما قرار وقتی کانتینر اجرا شد پیام Hello MdDaily Members رو نشون بده پس:

CMD [ "echo" , "Hello MdDaily Members 🐳"]


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

https://docs.docker.com/develop/develop-images/dockerfile_best-practices/


ادامه در پست بعدی...


🆔 @MdDaily
1🔥1
#ام_دی_کورس

حالا وقت اینکه ایمیجمون رو بیلد کنیم .
برای این کار دستور docker build رو در ترمینال اجرا میکنیم :

docker build -t ImageTag Directory

👈 پارامتر -t تگ ایمیج رو مشخص میکنه

بعد از اینکه ترمینال رو در محلی که Dockerfile امون قرار داره باز کردیم با اجرای دستور زیر :

dokcer build -t mddailyimage ./

یک ایمیج جدید بنام mddailyimage را بیلد میکنیم و با دستور docker run میتونیم ایمیج ها را اجرا کنیم.

docker run نام ایمیج

پس با اجرای دستور:

docker run mddailyimage

ایمیج ما در کانتینر اجرا میشه .

ادامه در پست بعدی...


🆔 @MdDaily
1🔥1