مهندسی داده و رایانش ابری
2.6K subscribers
506 photos
28 videos
76 files
431 links
دنیای مهندسی داده و رایانش ابری با طعم
Amazon Web Services

🟢 About us:
https://www.m-fozouni.ir/
🔵 Instagram:
https://www.instagram.com/elmedade
🔴 Youtube:
https://youtube.com/c/ElmeDade
🟤 مشاوره با دکتر فزونی
https://www.m-fozouni.ir/consult
Download Telegram
🟥 داکر از اینجا شروع می‌شه
👇👇👇

https://docker-curriculum.com/
.
بنظر من اگر کاربر لینوکس باشید، کار راحت‌تر هست.
.
#docker
#داکر
@elmedadeir
یکی از کارهایی که در فاز دوآپس (DevOps) انجام می‌دهیم، کانتینرایز کردن کدها یا نرم‌افزارهامون هست. تکنولوژی‌های تقریبن چشم‌گیری در این حوزه وجود دارند، ولی یکی از مواردی که خیلی باید بهش توجه کنیم، وجود انجمن‌های فعال اون ابزار یا تکنولوژی هست.

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

عمومن تکنولوژی‌ها اینقدر در راضی نگه‌داشتن مخاطبان خودشون تلاش نمی‌کنند. خلاصه از هر ابزاری که می‌خواهیم استفاده کنیم، باید بررسی کنیم که پاسخگو هستند یا نه فقط توسعه می‌دهند.
.
@elmedadeir
#docker
#devops
مقاله:
نحوه‌ی استقرار اپلیکیشن‌های استریم‌لیت با کمک داکر

خلاصه:
در این مقاله یک اپلیکیشن در دنیای پردازش زبان طبیعی را که با کمک استریم‌لیت نوشته شده است، توسط داکر کانتینرایز کرده و سپس آنرا به فضای داکرهاب منتقل می‌کنیم
👇👇👇
.
https://www.m-fozouni.ir/deploying-a-streamlit-app-with-docker/
.
نوع مقاله:
کاربردی و تکنیکال

ماحصل مطالعه:
در صورتی که مقاله‌ی فوق را بادقت مطالعه نموده و کدها را پیاده نمایید، یک کار عملی بسیار پرکاربرد با داکر را انجام داده‌اید. در نتیجه مقدمات ورود به دنیای کار با داکر برای شما بطور کامل فراهم خواهد شد
.
#docker
#dataengineering
#streamlit
#nlp
@elmedadeir
مقاله جدید:

اعمال تغییرات (کامیت کردن) روی یک داکرایمیج با مثال

وقتی با تصاویر و کانتینرهای داکر کار می‌کنید، یکی از ویژگی‌های اصلی و مهم آن، اعمال تغییرات یا نوشتن تغییرات و یا به اصطلاح کامیت کردن (Commit) به یک ایمیج داکر است. وقتی شما تغییرات را کامیت می‌کنید، در واقع یک تصویر جدید با یک لایه‌ی اضافی ایجاد می‌نمائید که لایه‌ی اصلی تصویر را به‌روز کرده است (طبق خواست شما).

💥مطالعه‌ی مقاله💥
.
#docker
#commit
#داکر
@elmedadeir
فرض کنید داکر رو روی سیستم نصب کردیم و داخل محیط (خط فرمان) پاورشل داریم با این ابزار کار می‌کنیم. قبل از تمام دستورات باید عبارت
docker
رو تایپ کنیم. مثلن

$ docker image ls

(برای گرفتن لیست ایمیج‌های موجود در سیستم). حالا چقدر خوب میشه که کاری کنیم برای فراخوانی داکر، یا هر ابزار این‌چنینی دیگر، وقتمون کمتر هدر بره. اینجاست که نام‌های مستعار یا همون
alias
بکارمون میان. برای ست کردن یک نام مستعار، پاورشل خودتون رو باز کنید و بنویسید

$ Set-Alias -Name AliasName -Value CommandName

بعنوان مثال برای داکر من نام مستعار زیر رو تنظیم می‌کنم

$ Set-Alias -Name d -Value docker

وقتی دستور بالا رو اجرا می‌کنیم، از این به بعد برای گرفتن لیست ایمیج‌های داکر خودمون کافیه که بنویسیم

$ d image ls

or

$ d images

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

در محیط پاورشل بنویسید

$ notepad $PROFILE

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

$ Set-Alias -Name d -Value docker

یکبار پاورشل خودتون رو ریستارت کنید (یکبار پنجره‌ی جاری رو ببندید و یک پنجره‌ی دیگر باز کنید). امتحان کنید که آیا نام مستعار شما تنظیم شده یا خیر.

اگر نشده بود، یک پنجره‌ی پاورشل در حالت ادمین باز کنید و کد زیر رو داخلش اجرا کنید

$ Set-ExecutionPolicy RemoteSigned

تمـــــاااااااام.لذت ببرید از اینکه برای خودتون، محیط پاورشل رو کمی سفارشی کردید. مثلن من برای دستور
docker-compose
نام مستعار
dc
رو ست کردم و این باعث شده که کارهام خیلی سریع و باحال‌تر پیش بره 😎

پی‌نوشت: این سبک کارها، هم خیلی کاربردی هستند و هم انجام دادنشون باعث میشه کم کم، ارتباط صمیمانه‌تری با کامپیوتر برقرار کنیم. انگار بچه‌مون هست و قشنگ می‌تونیم طبق معیارهای خودمون، تربیتش کنیم.
.
#powershell
#docker
#alias
#windows
.
@elmedadeir
🔴 انتقال ایمیج‌های داکر از یک سیستم به دیگری (همراه با معرفی یک باگ کوچک از داکر)

اگر فقط برای یک مدت کوتاه شروع کنیم به کار کردن با داکر، سیستم‌مون پر می‌شه از ایمیج‌هایی که کم‌کم دیگه بدردمون نمی‌خورند و فقط فضا رو اشغال می‌کنند. از طرفی، بخاطر بحث تحریم‌ها و دانلود کردن (pull) ایمیج‌ها که بسختی هم بعضن صورت می‌گیره، آدم حیفش میاد که این‌همه ایمیج بی‌زبون رو پاک کند. پس باید یکجورایی منتقلشون کنیم به یک هارد اکسترنال تا بعدن اگر نیاز شد، خیلی راحت دوباره از این ایمیج‌ها استفاده کنیم.
.
#docker
ادامه‌ی مقاله 👇👇👇
.
@elmedadeir
دستورات اساسی و کلیدی در داکر
.
#docker
@elmedadeir
مهندسی داده و رایانش ابری
🖥️ داکر برای علم داده و مهندسی داده 😎 مدرس: دکتر محمد فزونی طول دوره: پنج ساعت مفید 🎓 نحوه‌ی برگزاری: آفلاین (دریافت ویدیوهای ضبط شده) 📤 پشتیبانی: گروه تلگرامی و ارسال تیکت 💲 مبلغ ثبت‌نام: ۴۹۹ تومان ®️ توضیحات تکمیلی و ثبت نام 👇👇👇 https://m-foz…
دوستان عزیز، این دوره بالاخره آماده شد (ویدیوها ضبط شده بود اما فرصت ویرایش پیدا نمی‌شد). در صورت تمایل می‌تونید برای تهیه اقدام کنید.

داکر برای علم داده و مهندسی داده؛

https://www.m-fozouni.ir/shop/docker/
.
#docker
.
@elmedadeir
دو دستور
docker commit
و
docker build
خیلی مورد استفاده هستند. ولی در کار با اونها به یک مورد باید دقت کنیم.

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

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

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

منبع تصویر:
Medium
.
#docker
.
@elmedadeir
📕 13 ترفند از داکر که نمی‌دانستید
📕 13 Docker Tricks You Didn’t Know

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

1. Multi-stage Builds for Efficient Images
✔️ با استفاده از این مورد می‌توانیم ایمیج‌هایی بسازیم که بسیار بهینه‌تر باشند و موارد امنیتی را نیز به خوبی در آنها رعایت کرده باشیم. بعنوان مثال ابتدا اپی می‌سازیم و در مرحله‌ی دوم تنها خروجی اپ اول را در آن کپی می‌کنیم. ایمیج حاصل حداقل کدهای اجرایی ممکن را برای اجرا شدن دارد.
2. Squashing Image Layers
✔️ با کمک این آپشن می‌توانیم حجم ایمیج‌های خود را کاهش دهیم.
3. Docker BuildKit Secrets
✔️ به کمک این ابزار می‌توانیم از رمزهای عبور و موارد محرمانه در ایمیج و کانتینرهای داکر تا حد بسیار زیادی محافظت کنیم.
4. Leveraging .dockerignore
✔️ مانند مورد قبل این آیتم نیز برای بحث امنیت کاربرد دارد. مواردی را که نمی‌خواهیم در ایمیج نهایی باشد را داخل داکرایگنور قرار می‌دهیم.
5. Health Checks in Dockerfiles
✔️ با کمک این مورد می‌توانیم از سلامت کانتینرها بخوبی مطلع شویم.
6. Docker CLI Output Formatting
✔️ به کمک این مورد می‌توانیم در خط فرمان، خروجی‌های بسیار زیبا و کاربرپسندی را تولید کنیم.
7. Optimizing Cache Use in Builds
✔️ با کمک سیستم کش در داکر، می‌توانیم زمان ساختن ایمیج‌ها را بشدت کاهش دهیم.
8. Limiting Container Resources
✔️ به کمک این مورد می‌توانیم کانتینرها را محدود نمائیم تا بخش زیادی از منابع سخت‌افزاری ما را اشغال نکنند.
9. Docker Events for Monitoring
✔️ به کمک این دستور و اجرای آن در خط فرمان، می‌توانیم اطلاعات بسیار مهم و مفیدی را در لحظه از وضعیت کلاستر و کانتینرها کسب کنیم.
10. Running Containers in Read-only Mode
✔️ این مورد از لحاظ امنیتی در محیط‌های پروداکشن بسیار حیاتی است. کانتینرهایی می‌سازیم که به هیچ وجه نشود مورد جدیدی داخلشان نوشت و تنها می‌توانیم کدهای داخل انرا بخوانیم.
11. Cleaning Up with Docker Prune
✔️ به کمک این دستور می‌توانیم محیط کاری داکر خود را بطور کامل پاک و تمیز نمائیم. بعد از مدتی کار با داکر فضای بسیار زیادی از کامپیوتر و سیستم اشغال خواهد شد.
12. Overriding Entrypoint for Debugging
✔️ به کمک این مورد می‌توانیم نقطه ورود به کانتینر را تغییر داده و در دیباگینگ‌های روزمره بسیار مفید واقع می‌شود. فرض کنید کانتینری را اجرا می‌کنیم ولی مرتب ریستارت می‌شود و اصلن نمی‌توانیم وارد آن شویم و مشکل‌یابی کنیم. اینجاست که این مورد بسیار حیاتی می‌شود.
13. Docker Contexts for Multi-environment Management
✔️ به کمک این مورد می‌توانیم بین محیط‌های تست، توسعه و پروداکشن براحتی حرکت کنیم (حتی وقتی که بخواهیم با ریموت سرورها کار کنیم).
.
Ref: https://overcast.blog/13-docker-tricks-you-didnt-know-47775a4f678f
.
پی‌نوشت: جهت مشاهده‌ی یک خلاصه‌ی کامل‌تر از این پست، همراه با کدها و دستورات به لینک زیر مراجعه کنید
https://www.m-fozouni.ir/13-tricks-of-docker/
.
#Docker
#داکر
@elmedadeir