DevOps Expert
3.37K subscribers
170 photos
3 videos
8 files
276 links
✔️ کانال آموزش دوآپس به فارسی

Contact:
@BobyCloud
@H_TESLA_S
@Majid_Aghamohamad
Download Telegram
✔️ تفاوت Publish و Expose پورت‌های کانتینر داکر

🔶احتمالا براتون سوال شده Publish و Expose پورت های کانتینر داکر چه تفاوتی با یکدیگر دارند؟ آیا هردو برای Port Forwarding استفاده میشوند؟
🔷از دیدگاه تکنیکال چه تفاوت هایی میان این ۲ روش وجود دارد؟

🖥 تماشا در یوتوب:
👉 Link: https://www.youtube.com/watch?v=riM5yxQJEXU

#Docker #داکر #Publish #Expose #Container #کانتینر
〰️〰️〰️〰️〰️
©️ @DevOpsEx
DevOps Expert
#Docker #داکر #DevOps #Kubernetes #کوبرنتیز #Dockershim #Containerd #CRI #کانتینر_داکر 〰️〰️〰️〰️〰️ ©️ @DevOpsEx
🔴 منسوخ شدن داکر در کوبرنتیز

🔶 اخیرا ایژویی تحت عنوان حذف داکر از کوبرنتیز منتشر شده و باعث شده متخصصین این حوزه رو مقداری نگران کنه.
👉 Link: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.20.md#deprecation

🔷 اما نیازی به نگرانی نیست، حذف داکر از کوبرنتیز تصمیمی هست که توسط تیم توسعه کوبرنتیز گرفته شده و به دلیل مشکلاتی هست که dockershim ایجاد میکرد و تصمیم به بهبود کوبرنتیز دارند. پیشنهاد میکنم این مقاله رو مطالعه کنید:
👉 Link: https://kubernetes.io/blog/2020/12/02/dont-panic-kubernetes-and-docker/

درنهایت به عنوان یک برنامه نویس احتمالا دغدغه‌ای بابت Container Runtime Interface کوبرنتیز نخواهید داشت اما به عنوان متخصص DevOps یا زیرساخت ممکن هست کمی نیاز داشته باشید با Container Runtime Interface هایی نظیر containerd یا CRI-O کار کنید که کار سختی نخواهد بود.

🔥 So, this change is coming. It’s going to cause issues for some, but it isn’t catastrophic, and generally it’s a good thing. Depending on how you interact with Kubernetes, this could mean nothing to you, or it could mean a bit of work.

پ ن ۱: اگر از داکر یا کوبرنتیز استفاده میکنید، جای هر ۲ تکنولوژی در دنیای فعلی مستحکم هست و لازم نیست نگران باشید.
پ ن ۲: درسته که کوبرنتیز گفته but it isn’t catastrophic، اما جوانب احتیاط رو درنظر بگیرید.

#Docker #داکر #DevOps #Kubernetes #کوبرنتیز #Dockershim #Containerd #CRI #کانتینر_داکر
〰️〰️〰️〰️〰️
©️ @DevOpsEx
✔️ داکر برای برنامه نویسان - قسمت ۴ منتشر شد

در این دوره یاد می‌گیریم کانتینرها چی هستند و چطور با داکر می‌تونیم اون‌ها اجرا کنیم. هم‌چنین مطالبی که یک برنامه نویس باید برای نوشتن برنامه‌های داکرایز شده بدونه رو پوشش میدیم.

🔹 قسمت اول - آشنایی با مفاهیم
👉 Link: https://vrgl.ir/vKjmm

🔸 قسمت دوم - نصب داکر
👉 Link: https://vrgl.ir/3CLun

🔹 قسمت سوم - دستورات ابتدایی در داکر
👉 Link: https://vrgl.ir/MKlNQ

🔸 قسمت چهارم - حذف تصویر و کانتینر در داکر
👉 Link: https://vrgl.ir/CfTbq

Thanks to: @a_a_hemmati
#داکر #docker
〰️〰️〰️〰️〰️
©️ @DevOpsEx
✔️ داکر برای برنامه نویسان - قسمت ۵ منتشر شد

در این دوره یاد می‌گیریم کانتینرها چی هستند و چطور با داکر می‌تونیم اون‌ها اجرا کنیم. هم‌چنین مطالبی که یک برنامه نویس باید برای نوشتن برنامه‌های داکرایز شده بدونه رو پوشش میدیم.

🔹 قسمت اول - آشنایی با مفاهیم
👉 Link: https://vrgl.ir/vKjmm

🔸 قسمت دوم - نصب داکر
👉 Link: https://vrgl.ir/3CLun

🔹 قسمت سوم - دستورات ابتدایی در داکر
👉 Link: https://vrgl.ir/MKlNQ

🔸 قسمت چهارم - حذف تصویر و کانتینر در داکر
👉 Link: https://vrgl.ir/CfTbq

🔹 قسمت پنجم - ارتباط با کانتینر
👉 Link: https://vrgl.ir/arPBF

#داکر #docker
〰️〰️〰️〰️〰️
©️ @DevOpsEx
✔️ داکر برای برنامه‌ نویسان - قسمت ۶ منتشر شد

در این دوره یاد می‌گیریم کانتینرها چی هستند و چطور با داکر می‌تونیم اون‌ها اجرا کنیم. هم‌چنین مطالبی که یک برنامه نویس باید برای نوشتن برنامه‌های داکرایز شده بدونه رو پوشش میدیم.

🔹 قسمت اول - آشنایی با مفاهیم
👉 Link: https://vrgl.ir/vKjmm

🔸 قسمت دوم - نصب داکر
👉 Link: https://vrgl.ir/3CLun

🔹 قسمت سوم - دستورات ابتدایی در داکر
👉 Link: https://vrgl.ir/MKlNQ

🔸 قسمت چهارم - حذف تصویر و کانتینر در داکر
👉 Link: https://vrgl.ir/CfTbq

🔹 قسمت پنجم - ارتباط با کانتینر
👉 Link: https://vrgl.ir/arPBF

🔸 قسمت ششم - اشتراک و جابجایی فایل در کانتینر
👉 Link: https://vrgl.ir/JX3XR

#داکر #docker
〰️〰️〰️〰️〰️
©️ @DevOpsEx
👍1
✔️ داکر برای برنامه نویسان - قسمت ۷ منتشر شد

در این دوره یاد می‌گیریم کانتینرها چی هستند و چطور با داکر می‌تونیم اون‌ها اجرا کنیم. هم‌چنین مطالبی که یک برنامه نویس باید برای نوشتن برنامه‌های داکرایز شده بدونه رو پوشش میدیم.


🔹 قسمت سوم - دستورات ابتدایی در داکر
👉 Link: https://vrgl.ir/MKlNQ

🔸 قسمت چهارم - حذف تصویر و کانتینر در داکر
👉 Link: https://vrgl.ir/CfTbq

🔹 قسمت پنجم - ارتباط با کانتینر
👉 Link: https://vrgl.ir/arPBF

🔸 قسمت ششم - اشتراک و جابجایی فایل در کانتینر
👉 Link: https://vrgl.ir/JX3XR

🔹 قسمت هفتم - دستورات متفرقه ولی مفید
👉 Link: https://vrgl.ir/QlqEd

#داکر #docker
〰️〰️〰️〰️〰️
©️ @DevOpsEx
What is gVisor?
خب بریم یکمی راجب مباحث Security داخل کانتینر ها صحبت کنیم !!
امروز محصولی از گوگل را می خواهم خدمتتون معرفی کنم به اسم gVisor، که کارش بطور خلاصه این هست که عملا یک کانتینر رو داخل نوعی sandbox قرار میده و فراخوانی‌های سیستمی این کانتینر رو به شکل دقیقی رهگیری می‌کنه. دقیقا چیزی شبیه hypervisor ها در تکنولوژی مجازی سازی که میان فراخوانی های سیستمی یک VM رو رهگیری می‌کنن. طبق خوده داکیومنت یک تعریفی قشنگی که گفته شده این هست که gVisor عملا یک نوع "user-space kernel" خب یعنی چی حالا؟
عملا با استفاده از مفهوم ParaVirtualization اومدن کاری کردن که بتونن این فراخوانی‌هارو در لایه بالاتر از کرنل هاست بررسی کنن و خوبیش اینه که از ابزار هایی مثل Seccomp هم داخل این محصول استفاده شده ...
Links:
https://gvisor.dev/docs/
1️⃣https://devopscon.io/kubernetes-ecosystem/gvisor-kata-container-firecracker-docker-who-is-who-in-the-container-space/
#container #docker #security #opensource #devops #devsecops
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
✔️ داکر برای برنامه نویسان - قسمت ۸ منتشر شد

در این دوره یاد می‌گیریم کانتینرها چی هستند و چطور با داکر می‌تونیم اون‌ها اجرا کنیم. هم‌چنین مطالبی که یک برنامه نویس باید برای نوشتن برنامه‌های داکرایز شده بدونه رو پوشش میدیم.


🔸 قسمت چهارم - حذف تصویر و کانتینر در داکر
👉 Link: https://vrgl.ir/CfTbq

🔹 قسمت پنجم - ارتباط با کانتینر
👉 Link: https://vrgl.ir/arPBF

🔸 قسمت ششم - اشتراک و جابجایی فایل در کانتینر
👉 Link: https://vrgl.ir/JX3XR

🔹 قسمت هفتم - دستورات متفرقه ولی مفید
👉 Link: https://vrgl.ir/QlqEd

🔸 قسمت هشتم - بیلد کردن ایمیج با داکرفایل
👉 Link: https://vrgl.ir/XMfUf

#داکر #docker
〰️〰️〰️〰️〰️
©️ @DevOpsEx
This media is not supported in your browser
VIEW IN TELEGRAM
What is Dive?
خب بازم یکمی راجب Security تو کانتینر ها حرف بزنیم ...
راه‌های مختلفی برای تحلیل ایمیج‌های داکر وجود دارد. یکی از ابزارهایی که در تحلیل و مشاهده فایل‌ها و لایه‌های مختلف ایمیج جهت حذف، ویرایش و تحلیل می‌توانیم استفاده کنیم، dive است. هم از لحاظ امنیتی، هم از لحاظ DevOps، ابزاری بسیار کاربردی است. و حتی می‌تونید تغیراتی که هر لایه ایجاد کرده مشاهده کنید.
Link:
https://github.com/wagoodman/dive
#container #docker #security #opensource #devops #devsecops
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
⚡️Cloud-Native Developer Tool For Kubernetes
What is DevSpace?
Building modern, distributed and highly scalable microservices with Kubernetes is hard - and it is even harder for large teams of developers. DevSpace is the next-generation tool for fast cloud-native software development.
DevSpace is a client-only, open-source developer tool for Kubernetes:
1️⃣Build, test and debug applications directly inside Kubernetes
2️⃣Develop with hot reloading: updates your running containers without rebuilding images or restarting containers
3️⃣Unify deployment workflows within your team and across dev, staging and production
4️⃣Automate repetitive tasks for image building and deployment
Links:
◾️https://github.com/loft-sh/devspace
◾️https://www.youtube.com/watch?v=kgfg8r6_zPk
#container #docker #kubernetes #opensource #devops #cloudnative
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
✔️ داکر برای برنامه نویسان - قسمت ۹ منتشر شد

در این دوره یاد می‌گیریم کانتینرها چی هستند و چطور با داکر می‌تونیم اون‌ها اجرا کنیم. هم‌چنین مطالبی که یک برنامه نویس باید برای نوشتن برنامه‌های داکرایز شده بدونه رو پوشش میدیم.


🔹 قسمت پنجم - ارتباط با کانتینر
👉 Link: https://vrgl.ir/arPBF

🔸 قسمت ششم - اشتراک و جابجایی فایل در کانتینر
👉 Link: https://vrgl.ir/JX3XR

🔹 قسمت هفتم - دستورات متفرقه ولی مفید
👉 Link: https://vrgl.ir/QlqEd

🔸 قسمت هشتم - بیلد کردن ایمیج با داکرفایل
👉 Link: https://vrgl.ir/XMfUf

🔹 قسمت نهم - جنگو در داکرفایل
👉 Link: https://vrgl.ir/pzoss

#داکر #docker
〰️〰️〰️〰️〰️
©️ @DevOpsEx
✔️ داکر برای برنامه نویسان - قسمت ۱۰ منتشر شد

در این دوره یاد می‌گیریم کانتینرها چی هستند و چطور با داکر می‌تونیم اون‌ها اجرا کنیم. هم‌چنین مطالبی که یک برنامه نویس باید برای نوشتن برنامه‌های داکرایز شده بدونه رو پوشش میدیم.

🔸 قسمت ششم - اشتراک و جابجایی فایل در کانتینر
👉 Link: https://vrgl.ir/JX3XR

🔹 قسمت هفتم - دستورات متفرقه ولی مفید
👉 Link: https://vrgl.ir/QlqEd

🔸 قسمت هشتم - بیلد کردن ایمیج با داکرفایل
👉 Link: https://vrgl.ir/XMfUf

🔹 قسمت نهم - جنگو در داکرفایل
👉 Link: https://vrgl.ir/pzoss

🔸 قسمت دهم - best practices
👉 Link: https://vrgl.ir/bJfBJ

#داکر #docker
〰️〰️〰️〰️〰️
©️ @DevOpsEx
DevOps Security Tools
همانطور که همه دوستان مطلع هستند Vulnerability Assessment یکی از مهم‌ترین تسک‌ها در حیطه IT Security بوده و هست.
چند وقت پیش ابزار تحت عنوان trivy در بحث Container Vulnerability Scanning معرفی کردم خدمت دوستان.
امروز دو ابزار دیگر به نام های Anchore Engine و Clair را هم معرفی می‌کنم که به شدت ابزارهای جالبی در بحث Inspection و Analysis کانتینرها هستند.
اینبار می‌خوام مقاله‌ای را به شما معرفی کنم که با استفاده از این 3 ابزار، Base Image های مختلف رو اسکن می‌کند و مقایسه می‌کند کدام یک دقیقتر و بهتر عمل می‌کنند !!
پ.ن یکی از مهم ترین کاربردهای این نوع ابزارها در بحث CI هست.
Links:
https://raesene.github.io/blog/2020/06/21/Container_Vulnerability_Scanning_Fun/
◾️https://medium.com/dev-genius/vulnerability-management-of-containers-using-opensource-1d864ccaaf83
◾️https://medium.com/@matuzg/testing-docker-cve-scanners-part-1-false-negatives-and-what-they-mean-for-your-security-77fc4eb1b2cf
#container #ci #docker #security #opensource #devops #devsecops
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
✔️ داکر برای برنامه نویسان - قسمت ۱۱ منتشر شد

در این دوره یاد می‌گیریم کانتینرها چی هستند و چطور با داکر می‌تونیم اون‌ها اجرا کنیم. هم‌چنین مطالبی که یک برنامه نویس باید برای نوشتن برنامه‌های داکرایز شده بدونه رو پوشش میدیم.


🔹 قسمت هفتم - دستورات متفرقه ولی مفید
👉 Link: https://vrgl.ir/QlqEd

🔸 قسمت هشتم - بیلد کردن ایمیج با داکرفایل
👉 Link: https://vrgl.ir/XMfUf

🔹 قسمت نهم - جنگو در داکرفایل
👉 Link: https://vrgl.ir/pzoss

🔸 قسمت دهم - best practices
👉 Link: https://vrgl.ir/bJfBJ

🔹 قسمت یازدهم - best practices (ادامه)
👉 Link: https://vrgl.ir/JaQ80

#داکر #docker
〰️〰️〰️〰️〰️
©️ @DevOpsEx
Docker Container’s Filesystem Demystified
موضوعی که می‌خواهیم باهم بررسی کنیم، کانسپتی هست تحت عنوان Storage Driver ها در اکوسیستم داکر !! تمام هدف این است که داکر بتواند نوعی فایل سیستم مناسب برای کانتینر ما فراهم آورد. درایوری که داکر در حال حاظر از آن استفاده می‌کند، در اصل نوعی Union FS تحت عنوان OverlayFS است. گرچه موارد مشابهی نیز مانند aufs و devicemapper و ... نیز وجود داشته و دارند اما داکر با اضافه کردن تغییراتی در این فایل سیستم بخصوص برای مثال اضافه کردن و بهبود قابلیتهایی چون Page Caching و ... نسخه‌ای تحت عنوان overlay2 را ایجاد نموده و در نسخ جدید از آن استفاده می‌کند. درک درست سازوکار نهفته در این نوع فایل سیستمها برای مثال عملیات CoW و ... می‌تواند در بالا بردن پرفورمنس سرویس هایی چون OSS و ... بسیار مفید و حیاتی باشد. در ادامه چندین مقاله مفید و بنچمارک های مختلف آورده شده است که می‌توانید از آنها استفاده کنید.
Main Links:
◾️Link 1 Link 2 Link 3 Link 4
Benchmark Links:
◾️Link 1 Link 2 Link 3
#container #docker #opensource #devops
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
A Comparison Of Linux Container Images❗️
چند وقته پیش به نوشته جالبی از آقای Scott McCarty برخورد کردم گفتم بزارم شاید دوستان هم استفاده کردند. موضوع مورد بحث این هست که ایشون یک مقایسه بسیار جالب از تمام Container Image های Base انجام داده‌اند و از جهاتی چون موارد زیر آنهارو مقایسه کرده‌اند:
Architecture
Security
Binary Hardening
Performance
نکته جالبی هم راجب بحث ایمیج های DistroLess ارائه دادند که خوندنش خالی از لطف نبوده و دید نسبتا خوب و کاملی در انتخاب یک Base ایمیج متناسب با کارتون به شما می‌دهد.
ضمنا ایشون Content های به شدت پرمحتوایی در زمینه Container Internals و Container Standards ها دارن که می‌تونید در چنل یوتیوبشون اونهارو هم مطالعه کنید و استفاده کنید.
Link:
◾️https://crunchtools.com/comparison-linux-container-images/
Youtube Channel:
◾️https://www.youtube.com/channel/UCkWQhDzOxooYHp5LrTqnkdg
#container #docker #opensource #devops
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
همیشه برام جالب بود که دلیل اصلی اینکه پلتفرم هایی مثل کوبرنتیز و یا داکر سرویس هایی رو تحت عنوان docker-proxy و kube-proxy نوشتن و هدف نهایی پشت این سرویس ها چی بوده و از چه مشکلاتی جلوگیری می کنن؟
کار مهمی که امروزه این سرویسها انجام میدن این هست که بقولی ما بتونیم حتی از طریق Local Network به اون پاد یا کانتینر مد نظرمون برسیم ( مشخصا این سرویس ها وظایف دیگه‌ای رو هم بر عهده دارند! ) چیزی که به شکل دیفالت در لینوکس ممکن نیست چرا که کرنل با پکت هایی که از شبکه داخلی آمده باشن 127.0.0.1/8 به شکلی خاصی رفتار می‌کنه چیزی که به ظاهر از RFC 1122 مقرر شده اینگونه باشه. به زبانی ساده تر، یک نود در شبکه هیچوقت پکتی که آدرس Destination اون 127.0.0.1 رو نمی‌تونه Transmit بکنه و به اصطلاح اون رو Drop میکنه.
ولی خب چیزی که همیشه مد نظرم بود ما بجای اینکه سرویسهایی بنویسیم مثل همون Proxy ها می‌تونیم به راحتی با ست کردن یک متغیر sysctl به نام route_localnet و یکمی بازی با IPTables مشکل رو حل کنیم یا دور بزنیم و به کانتینر مد نظرمون از طریق Localhost برسیم.
و خب بعد از حدود یک هفته تحقیق فهمیدم که در سال 2020 یک CVE-2020-8558 تحت همین سناریو بیرون آمد که اگر داکر یا کوبر با این متغیر کار بکنن چه مشکلی پیش میاد.
A flaw was found in Kubernetes that allows attackers on adjacent networks to reach services exposed on localhost ports, previously thought to be unreachable. This flaw allows an attacker to gain privileges or access confidential information for any services listening on localhost ports that are not protected by authentication.
و چقدر اون موقع به شکل راحتی سرویسهایی که به 127.0.0.1 به اصطلاح Bind شدن بدون هیچگونه Authentication و یا Encryption ای می‌تونن Expose بشن به خودی خود! که خب همین عامل باعث شد که داکر و یا کوبر سرویس هایی رو برای مدیریت بهتر این مشکلات بنویسن چرا که لینوکس به شکل دیفالت حتی Rule های IPTables رو برای پکت های Local Network در نظر نمی‌گیره !!

CVE-2020-8558:
◾️Link 1 Link 2
For More Info:
◾️Link 3

#container #docker #opensource #devops #devsecops
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
سلام عزیزان، امیدوارم حالتون خوب باشه

اول از همه بابت استقبالی که در طول این ۲ سال از دوره های داکر برای همه و Gitlab CI/CD برای توسعه دهندگان تنبل داشتید صمیمانه سپاسگزارم. این دوره ها تقریبا ۲ سال پیش ضبط شدند و اخیرا باتوجه به درخواست‌های متعدد دوستان مبنی بر پایین‌تر بودن کیفیت دوره‌ها نسبت به ویدئوهای آموزشی یوتوب، تصمیم به حذف این دوره ها از وبسایت گرفتیم تا درآینده با کیفیت بالاتری بتونیم در خدمتتون باشیم.

این اطلاع رسانی به این منظور است که دوستان زیادی از این کانال با بنده آشنا شدند و دوره‌هارا تهیه کردند. بنابراین دوره‌های آموزشی “داکر برای همه” و “Gitlab CI/CD برای توسعه دهندگان تنبل” طی ۴۸ ساعت آینده از وبسایت حذف خواهند شد و فقط برای عزیزانی که دوره‌هارو تهیه کرده بودند در پنل کاربری قابل دسترس خواهد بود.

دوره های ذکرشده در متن 👇

دوره داکر برای همه
https://boby.cloud/docker-for-everybody-course

دوره Gitlab CI/CD
https://boby.cloud/gitlab-cicd-course

ممنون از اینکه برای رشد خودتون ارزش قائل هستید و حمایت میکنید. 🙏🌷

#docker #gitlabci
〰️〰️〰️〰️〰️
© @DevOpsEx
✔️ داکر به زبان ساده چیست؟
چرا داکر امروزه محبوب شده؟

🖥 مشاهده در یوتوب:
👉 Link: https://www.youtube.com/watch?v=FU--oBJZTMs

#docker #داکر #docker_image #کانتینر #کانتینر_پلتفرم #container #یوتوب_فارسی #bobycloud
〰️〰️〰️〰️〰️
©️ @DevOpsEx | @AI_Python