داکر docker برای همه

داکر docker برای همه

کارگاه آموزشی داکر ( docker)

یکی از به روز ترین مفاهیم مورد استفاده در توسعه نرم افزار و سوار کردن آن روی سرورها ظرف ها یا داکر docker است.

ظرف container چیست؟

شاید از خود بپرسید مفهوم داکر چیست و اصولا به چه دردی می‌خورد. این که می گویند داکر یک ظرف container است به چه معنی می‌باشد.

جواب سوال شما به صورت کوتاه این است که در سیستم عامل لینوکس  که دارای یک هسته و هسته لینوکس هزاران قابلیت و بسته است از نسخه 2.6.24 cgroup  را اضافه کرد. این قابلیت امکان محفظه سازی به لینوکس می‌دهد. کاری که lxd و docker و دیگر container ها انجام می‌دهند.

چرا برای همه

از فلسفه وجودی داکر docker که بگذریم واقعا چرا داکر به درد همه می‌خورد.

با یک مثال ادامه می‌دهم. فرض کنید  بخواید چند خط کد در هر زبانی برای دانشگاه، محل کار و … آماده کنید و بخواهید خروجی آن را ببینید.

به غیر از لوازم کدزنی (ویرایشگر متن یا IDE، منابع و دانش فنی) که این روزها همه حتی وکلا نیز با آن درگیر هستند. (در بحث قراردادهای هوشمند که با blockchain انجام می‌شود) نیاز به بستری برای کامپایل و یا تفسیر کدها و نمایش آنها دارید.

به جای اینکه برای هر زبان و هر کاری بستر آن را آماده کنید، داک را نصب کرده و از ظرف های مختلف یا image های آن استفاده کنید. وب سرور می‌خواهید؟ nginx یا apache را از داکر بگیرید. کدهای python دارید. داکر docker مخصوص پایتون را بگیرید. جاوا؟ ruby؟ .net؟ لینوکس و …

فقط داکر را نصب کنید و هر ظرفی نیاز دارید را استفاده نمایید. خوبی داکر docker این است که هر وقت کارتان تمام شد می‌توانید imageها  را پاک کنید.

داکر در production

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

زودتر ثبت نام کنید

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

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

 

 

 

افزودن vuex به لاراول

شاید شما هم به تازگی به سمت vue مهاجرت کرده باشید. به همین اندازه هم باید قدم بردارید برای استفاده از vuex!

نترسید!

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

اما نحوه استفاده:

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

تجربه mail server در کنار ابر آروان

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

ولی همین که همت کردند و یه بستر مناسب به وجو آوردند، دست مریزاد داره.

پیشنهاد می‌کنم خودتون بهش سر بزنید و از نزدیک امکاناتش رو تجربه کنید.

یکی از امکانت رایگانش DNS هست. که اگه ابرش رو روشن کنید هزینه کمی براتون می‌ندازه. در عوض بی‌نهایت امنیت‌تون رو بالا می‌بره.

ابر آروان پیش از راه اندازی ابر dns

هشدار هزینه بر بودن ابر آروان (به مقدار اندک) بسته به حجم بازدید  ابر آروان روشن برای dns (امنیت بالاتر )

مدتیه می‌خوام یه میل سرور روی vps راه بندازم. با postfix کار کردم با exim هم رفتم جلو. آخر سر به این نتیجه رسیدم به جای دردسر کشیدن مدیریت یه سرور میل کار رو بسپرم به CPanel.

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

mail.domain.com

یه شبانه روز باهاش ور رفتم ولی کار نمی‌کرد. کلی تیکت زدم و همه جا رو بررسی کردم.

آخر سر به این نتیجه رسیدم که:

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

بعد از اینکه سی پنل تنظیماتش رو کرد، می‌تونید ابر رو دوباره روشن کنید.

الان دستام اونقدر درد می‌گیرن، که دیگه دردش رو احساس نمی‌کنم.

زده به گردنم. به صدای قرچ قروچ بدنم عادت کردم. برای خودش یه موسیقی زنده است!!

امیدوارم شما تجربه من رو تکرار نکنید…

 

 

 

 

 

رفع مشکل CI (Continuous Integration) سرورهای ایرانی بر روی gitlab

اوایل یه سرور داشتم که هنوز آی‌پی ش توسط گوگل تحریم نشده بود و طبیعتا راحت با gitlab کار می‌کردیم.

بعد از چند وقت، آی پی ما هم تحریم شد. CI دستی! مسخره بود واقعا… یا باید از پروکسی استفاده می‌کردیم، یا ssh tunnel یا راه حل سوم که من انتخاب کردم: gitlab runner اختصاصی!

همونطور که می‌دونید برای راه اندازی CI روی gitlab باید یه runner داشته باشید که دستورات داخل .gitlab-ci.yml رو براتون اجرا کنه. خود گیت لب runnerهای اشتراکی داره ولی محدود…
اول با ssh tunnel از یه سرور خارجی موفق به استفاده CI و دورزدن تحریم شدم. خب بدی این راه حل این بود که یه task روی خط فرمان باید اجرا می‌موند و  ارتباط تونل با بستن ارتباط ssh از کار می‌افتاد و اگر ارائه‌دهنده سرور مجازی ارتباط vnc بهت می‌داد اونجا هم نمی‌تونستی از محیط کاربری exit کنی و به هر دلیلی هر کسی من جمله همون فروشنده سرور مجازی vnc رو باز می‌کرد به تمام سرور دسترسی داشت. مگر اینکه به حالت یک demand این تونل رو ایجاد می‌کردم که باز هم راضی کننده نبود و ظاهر خوبی برام نداشت.
ولی وقتی فهمیدم shared runner های گیت‌لب جواب‌گو نیست این ایده تو ذهنم اومده که روی همون سرور مجازی خارج از کشور می‌تونم یه runner ثبت کنم و از اونجا که این runner دیگه تحت کنترل خودم بود به راحتی به هر سروری من جمله سرورهای ایران دسترسی داشت.
هر چند راه حل دورزدن تحریم از سمت ایران یک طرفه بود این راه حل که به خرجش می‌ارزه هم برای طرف دیگه نوشتم تا هر کس مشکلی مثل من داشت بتونه استفاده کنه. هر سوال یا کمکی خواستید تو کامنت ها در خدمتم…

حل مشکل بالا نیامدن ویندوز ۱۰

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

در اصل می‌خواستم ویندوز ۱۰ رو از یک هارد به ssd کپی کنم ( با ghost  موجود در HBCD ) که به یه سری مشکلات خوردم. مشکل از انیجا شروع شد که هارد اصلی که سیستم باهاش بالا میومد مدام پیغام repair می‌داد و بدبدختانه ویندوز ۱۰ هم گزینه F8 و safe mode و … نداره…

از این لینک کمک گرفتم و بعد از اینکه ویندوز خودش به قسمت repair رفت (بعد از یک بار بوت ناموفق و ریست اتوماتیک) به قسمت Advanced Option رفتم.

 

بعد از restart صفحه زیر نشون داده می‌شه که هر کدوم رو انتخاب کنید با همون مشخصات دوباره ویندوز بالا میاد که من گزینه ۴ یعنی enable safe mode رو انتخاب کردم:

معمولاویندوز یک بار که با safemode بالا بیاد خودش نقصیاتی از این دست که برای بنده پیش اومده رفع می‌کنه ولی اگر خواستید باز هم با safemode بالا بیاید می‌تونید از msconfig (دکمه ویندوز +R رو فشار بدید و این دستور رو بنویسید) استفاده کنید:

فقط در نظر داشته باشید که اگر تیک make all boot settings permanent رو وقتی safe boot تیک خورده بزنید ازتون برای commit سوال می‌شه و بعد از اون همیشه ویندوز با safemode بالا میاد مگر اینکه دوبار به msconfig برگشته و تیک safe boot و permanentش رو بردارید.