DevOps ۰۱ شهریور ۱۴۰۴ زمان مطالعه: ۱۸ دقیقه

مقدمه‌ای بر Docker و معماری میکروسرویس

آرش محمودی

تیم فنی اوربیت دیزاین

شعار معروف "روی سیستم من کار می‌کرد ولی روی سرور کار نمی‌کنه" با آمدن داکر (Docker) به تاریخ پیوست. داکر استاندارد طلایی توسعه نرم‌افزار مدرن است.

VM vs Container

کانتینر (Container) چیست؟

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

ساختار Dockerfile

هر پروژه داکری با یک فایل متنی ساده به نام Dockerfile شروع می‌شود که دستورالعمل پخت نرم‌افزار شماست:

FROM node:18-alpine WORKDIR /app COPY package*.json ./ RUN npm install --production COPY . . EXPOSE 3000 CMD ["npm", "start"]

مدیریت با Docker Compose

در پروژه‌های واقعی که دیتابیس، ردیس و بک‌اند دارید، مدیریت تک‌تک کانتینرها سخت است. ابزار docker-compose اجازه می‌دهد کل معماری سیستم را در یک فایل YAML تعریف کنید و با یک دستور docker-compose up کل سرویس را بالا بیاورید.

اشتراک‌گذاری:
بازگشت به وبلاگ