داکر - docker

کوچک نگه داشتن سایز Docker Image

 

Docker imageها اجزای ضروری مورد نیاز برای ساخت Docker containerها هستند. اگرچه این دو ارتباط تنگاتنگی با هم دارند؛ اما تفاوت عمده‌ای بین image و container در docker وجود دارد.

Docker image، پایه و اساس یک container است. این imageها با نوشتن یکسری دستورات در Dockerfileها بطور خودکار ایجاد می‌شوند.

در واقع Image ها همانند نقشه‌های یک ساختمان می‌باشند و Container ها همانند ساختمان و یا ساختمان‌های ساخته شده از آن نقشه می‌باشند.

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

به منظور یادگیری نحوه کوچک نگه داشتن سایز Docker imageهای خود به ادامه مطلب بروید.

ادامه‌ی مطلب

نحوه SSH زدن به Docker Container در حال اجرا

 

Docker، ابزاری است که به شما امکان می‌دهد، یک container برای اجرای برنامه‌ها ایجاد کنید. یک Docker container، یک ماشین مجازی کاملاً مجزا است.

در این راهنما، سه روش برای برقراری اتصال SSH با یک Docker container و اجرای دستورات در آن آموزش داده شده است.

ادامه‌ی مطلب

تفاوت دستور ADD و COPY در Docker

 

هنگام ایجاد یک Dockerfile، دو دستور ADD و COPY وجود دارد که شما می‌توانید از آن‌ها برای کپی کردن فایل‌ها یا دایرکتوری‌ها در آن استفاده کنید. اگرچه یکسری تفاوت‌های جزئی در محدوده عملکرد این دو دستور وجود دارد، اما اساس کارشان یکسان است.

اکنون این سؤال در ذهن ایجاد می‌شود که پس چرا ما دو دستور داریم و چگونه می‌توان فهمید چه زمانی از یکی یا دیگری استفاده نماییم؟

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

ادامه‌ی مطلب

رفع خطای "cannot connect to the Docker daemon"

 

برای کاربران جدید Docker ممکن است، در ابتدای کار، استفاده از docker سخت باشد؛ زیرا اغلب بلافاصله پس از نصب با خطاهایی روبرو می‌شوند. خطای "cannot connect to the Docker daemon" در Docker یکی از این خطاهاست. این خطا معمولاً هنگام اجرای دستور docker-compose build رخ می‌دهد.

در این آموزش، دلایل احتمالی خطای "cannot connect to the Docker daemon" و راه‌حل‌های آن بررسی شده است.

ادامه‌ی مطلب

نصب Docker در CentOS 8

 

نسخه جدید CentOS 8 در مقایسه با نسخه قبلی، عناصر نوآورانه زیادی را ارائه کرده است. یکی از تغییرات مهم، تصمیم برای عدم حمایت رسمی از Docker است. در عوض، RHE ابزارهای داخلی را برای ایجاد و مدیریت container image معرفی کرده است. این ابزار‌های داخلی که buildah و podman هستند، با Docker سازگارند؛ اما برای اجرا نیازی به معماری سرور/ کلاینت ندارند.

در این مقاله، با توجه به این تغییر اساسی، نحوه نصب Docker در CentOS 8 شرح داده شده است.

ادامه‌ی مطلب

نحوه راه اندازی و پیکربندی MySQL Docker Container

 

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

Docker، مجموعه‌ای از محصولات بصورت platform-as-a-service است که از توسعه CI/CD پشتیبانی می‌کند. Docker به کاربران اجازه می‌دهد، برنامه‌هایی را در محیط‌های مجازی که container نامیده می‌شوند، توسعه داده و به کار ببرند. با یک image واحد، Docker می‌تواند، یک برنامه را با همه کتابخانه‌ها و وابستگی‌های آن راه‌اندازی کند.

در این آموزش، نحوه استقرار MySQL Docker container و نحوه شروع کار با پایگاه داده کانتینری شده آموزش داده شده است.

ادامه‌ی مطلب

بازنویسی کردن Entrypoint با استفاده از Docker Run

 

Entrypoint و CMD دستورهایی در Dockerfile هستند که فرایند را در یک Docker image تعریف می‌کنند. بسته به اینکه چگونه می‌خواهید container خود را اجرا نمایید، می توانید از یکی یا هر دو دستور استفاده کنید.

یکی از تفاوت‌های این دو دستور این است که بر خلاف CMD، شما نمی‌توانید دستور ENTRYPOINT را فقط با افزودن پارامترهای خط فرمان جدید بازنویسی نمایید؛ بلکه باید دستور docker run را به همراه یک ساختار خاص تغییر دهید.

در این آموزش، نحوه بازنویسی کردن ENTRYPOINT با استفاده از دستور docker run شرح داده شده است.

ادامه‌ی مطلب

نصب و پیکربندی Greenlight برروی سرور BigBlueButton

 

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

BigBlueButton دارای یک محیط ساده و امکانات گرافیکی کم است؛ بدین معنی که اکثر کارها در آن از طریق محیط متنی قابل انجام است. به همین دلیل ماژولی به نام Green Light برای این نرم افزار ارائه شده است که امکانات مطلوبی را در اختیار کاربران BigBlueButton قرار می‌دهد.

ادامه‌ی مطلب

تنظیم محدودیت استفاده از حافظه و CPU در Docker

 

به طور پیش فرض، Docker Containerها به تمام منابع RAM و CPU میزبان دسترسی دارند. این تنظیمات پیش فرض ممکن است منجر به مشکلات عملکردی شود. بدین معنی که اگر حافظه و مصرف CPU را در Docker محدود نکنید، Docker می‌تواند از تمام منابع سیستم استفاده کند.

در این آموزش، نحوه محدود کردن مصرف حافظه و CPU در Docker Container شرح داده شده است.

ادامه‌ی مطلب

استفاده از Traefik به عنوان Reverse Proxy برای Docker Container

 

Docker، به عنوان یک روش کارآمد برای اجرای برنامه‌های تحت وب قابل استفاده است. در صورتی که بخواهید چندین برنامه را در یک میزبان Docker اجرا کنید، شما باید یک پروکسی معکوس (Reverse Proxy) برای آن تنظیم نمایید؛ زیرا تنها باید پورت‌های 80 و 443 را در معرض دید سایر نقاط جهان قرار دهید.

Traefik یک Reverse Proxy برای Docker است که شامل داشبورد نظارت است. در این آموزش، از Traefik به منظور مسیریابی درخواست‌ها به دو container مختلف برنامه وب استفاده شده است. این دو container شامل؛ یک container وردپرس و یک container مربوط به Adminer است که هردو از پایگاه داده MySQL استفاده می‌کنند. با استفاده از Let's Encrypt می‌توانید Traefik را به گونه‌ای پیکربندی نمایید که همه درخواست‌ها را در HTTPS ارائه دهد.

ادامه‌ی مطلب