معماری به طرح یا ساختار یک سیستم (نرمافزار، پلتفرم یا حتی ساختمان) گفته میشود. معماری داکر شامل اجزای مختلفی است که با هم برای ساخت، ارسال و اجرای برنامهها همکاری میکنند.
اجزای اصلی معماری Docker عبارتاند از:
- Docker Daemon
- Docker Client
- Docker Image
- Docker Container
- Docker Registry
- Docker Network

Docker Daemon
Docker Daemon هسته اصلی معماری داکر است. این سرویس دستورات را از کاربر یا Docker Client دریافت کرده و وظایفی مثل ساخت، مدیریت و اجرای کانتینرها را بر عهده دارد. Daemon بر روی سیستم میزبان اجرا میشود و دستورات را از طریق REST API دریافت میکند.
Docker Client
Docker Client رابط اصلی کاربر با داکر است. دستورات کاربر (مثل build، run، stop) از طریق کلاینت به Daemon ارسال میشود. کلاینت میتواند روی همان سیستم میزبان یا از راه دور (remote) اجرا شود.
Docker Image
Docker Image قالب آمادهای از نرمافزار است که شامل کد، وابستگیها و تنظیمات موردنیاز اجرای برنامه میباشد. ایمیجها معمولاً از طریق Dockerfile ساخته میشوند و مبنای ایجاد کانتینرها هستند.
Docker Container
Docker Container نمونه اجرایی یک Image است. کانتینرها محیطی ایزوله فراهم میکنند که برنامه به همراه تمام وابستگیهایش در آن اجرا میشود. به بیان ساده، ایمیج حکم قالب است و کانتینر حکم محصول نهایی قابل اجرا.
Docker Registry
Docker Registry محلی برای ذخیره و مدیریت ایمیجهاست. رجیستریها میتوانند عمومی مثل Docker Hub یا خصوصی باشند. توسعهدهندگان میتوانند ایمیجها را در رجیستری آپلود یا دانلود کنند.
Docker Network
Docker Network وظیفه مدیریت ارتباط بین کانتینرها و همچنین ارتباط با دنیای بیرون را دارد. شبکه داکر امکان اتصال، ایزولهسازی و پیکربندی سفارشی برای ارتباط سرویسها را فراهم میکند.
جدول خلاصه معماری داکر
| جزء معماری | وظیفه اصلی |
|---|---|
| Docker Daemon | مدیریت کانتینرها و اجرای دستورات |
| Docker Client | رابط کاربری برای ارسال دستورات به Daemon |
| Docker Image | الگو و بسته نرمافزار شامل کد و وابستگیها |
| Docker Container | نمونه اجرایی Image در محیط ایزوله |
| Docker Registry | محل ذخیره و بهاشتراکگذاری Image ها |
| Docker Network | مدیریت ارتباط بین کانتینرها و سیستم میزبان |
جمعبندی
داکر یک پلتفرم Client-Server است که با زبان Go نوشته شده است. معماری آن از اجزای مختلفی تشکیل شده که در کنار هم امکان ساخت، مدیریت و اجرای سرویسها را از طریق Image و Container فراهم میکنند.