داکر (Docker) یکی از ابزارهای مهم در حوزه توسعه و اجرای نرمافزار است که به توسعهدهندگان کمک میکند برنامهها را در محیطهایی به نام Container یا کانتینر بستهبندی و اجرا کنند. استفاده از کانتینرها باعث میشود برنامه و وابستگیهای موردنیاز آن در محیطی مستقلتر و قابلانتقال اجرا شوند. در این مقاله ابتدا بررسی میکنیم داکر چیست، کانتینر چه نقشی دارد و Docker Image چه مفهومی دارد؛ سپس مراحل نصب Docker روی ویندوز و لینوکس را بررسی میکنیم و در پایان روش اطمینان از نصب صحیح داکر را توضیح میدهیم.
داکر چیست؟
Docker ابزاری برای توسعه، بستهبندی و اجرای برنامهها در قالب کانتینر است. طبق توضیح منبع GeeksforGeeks، داکر فرایند توسعه، بستهبندی و استقرار برنامهها را سادهتر میکند و یکی از مشکلات شناختهشده در توسعه نرمافزار، یعنی «روی سیستم من کار میکند»، را کاهش میدهد.

تعریف داکر به زبان ساده
اگر بخواهیم مفهوم Docker را ساده کنیم، میتوان گفت داکر محیط اجرای برنامه و وابستگیهای آن را در قالب کانتینر قرار میدهد تا برنامه بتواند در محیطهای مختلف با سازگاری بیشتری اجرا شود.
“Docker is a tool that simplifies the process of developing, packaging, and deploying applications.”
«داکر ابزاری است که فرایند توسعه، بستهبندی و استقرار برنامهها را سادهتر میکند.»
منبع: GeeksforGeeks
چرا داکر اهمیت دارد؟
یکی از مشکلات رایج در توسعه نرمافزار تفاوت میان محیطهای مختلف است. ممکن است برنامهای روی سیستم توسعهدهنده بهدرستی اجرا شود اما هنگام انتقال به سیستم دیگری با مشکل مواجه شود. داکر با قرار دادن برنامه و وابستگیهای موردنیاز آن در یک کانتینر، محیط اجرای برنامه را قابلانتقالتر میکند.
از کجا کتابهای آموزشی داکر را دانلود کنم؟
فقط کتاب مجموعهای بینظیر از کتابهای آموزش را با قیمتی مناسب فراهم کرده است. جهت دانلود مجموعه کتابهای آموزش داکر، از طریق لینک زیر اقدام کنید.
کانتینر در داکر چیست؟
کانتینر (Container) محیطی سبک برای اجرای برنامه است که کد، کتابخانهها و وابستگیهای موردنیاز برنامه را در خود جای میدهد. کانتینرها کرنل سیستمعامل میزبان را به اشتراک میگذارند، اما برنامهها و وابستگیهایشان را از یکدیگر جدا نگه میدارند.
تفاوت کانتینر با ماشین مجازی
کانتینر و ماشین مجازی هر دو برای جداسازی محیط اجرای نرمافزار استفاده میشوند، اما در داکر کانتینرها از کرنل سیستمعامل میزبان استفاده میکنند. به همین دلیل کانتینرها سبکتر هستند، سریعتر راهاندازی میشوند و منابع کمتری نسبت به محیطهایی که نیازمند سیستمعامل جداگانه هستند مصرف میکنند.
Docker Image چیست؟
Docker Image یا ایمیج داکر، بستهای است که کد برنامه و وابستگیهای موردنیاز آن را در خود دارد. کانتینرها از این Imageها ایجاد میشوند و اجرای برنامه بر اساس همان محیط تعریفشده انجام میشود.
به زبان ساده:
Docker Image → ساخت کانتینر → اجرای برنامه
این مدل باعث میشود یک Image بتواند مبنای ایجاد کانتینرهایی برای اجرای یک برنامه باشد.
Docker Engine چیست؟
Docker Engine یکی از اجزای اصلی پلتفرم Docker است که مسئول اجرا و مدیریت کانتینرهاست. در اکوسیستم داکر، Engine نقش اصلی را در اجرای کانتینرها بر عهده دارد و کاربر از طریق ابزارهای داکر میتواند کانتینرها را مدیریت کند.
Docker Compose چیست؟
Docker Compose ابزاری برای اجرای برنامههایی است که از چند کانتینر تشکیل شدهاند. برای مثال، یک برنامه میتواند از چند بخش مختلف تشکیل شده باشد و هر بخش در یک کانتینر اجرا شود. Docker Compose امکان مدیریت این کانتینرها را در کنار یکدیگر فراهم میکند.
آموزش نصب داکر روی ویندوز

برای نصب Docker روی ویندوز از Docker Desktop استفاده میشود.
پیشنیاز نصب داکر در ویندوز
سیستم موردنظر باید از نسخه ۶۴ بیتی ویندوز 10 با نسخه 21H2 یا بالاتر برخوردار باشد. نسخههای Home، Pro، Enterprise و Education و استفاده از WSL 2 backend نیز موردنیاز است.
-
مرحله اول: دانلود Docker Desktop
ابتدا Docker Desktop را برای ویندوز دریافت کنید. توصیه میشود نصبکننده Docker Desktop را از وبسایت رسمی Docker دریافت کنید.
-
مرحله دوم: اجرای نصبکننده
پس از دریافت فایل نصب، آن را اجرا کنید و مراحل نصب نمایشدادهشده را دنبال کنید. در صورتی که هنگام نصب گزینه مربوط به WSL 2 نمایش داده شد، باید این قابلیت فعال شود.
-
مرحله سوم: اجرای Docker Desktop
بعد از پایان نصب، Docker Desktop را از منوی Start ویندوز اجرا کنید. ممکن است راهاندازی Docker Engine چند دقیقه زمان ببرد.
آموزش نصب داکر روی لینوکس

راهنمای Techoral برای لینوکس، مراحل نصب Docker Engine را با استفاده از مخزن Docker و ابزارهای مربوط به سیستمهای مبتنی بر Ubuntu توضیح میدهد.
پیشنیاز نصب داکر در لینوکس
سیستم باید یک نسخه ۶۴ بیتی از یکی از توزیعهای پشتیبانیشده لینوکس داشته باشد. نمونههایی مانند Ubuntu، Debian، Fedora و CentOS نیز موردنیازند.
-
مرحله اول: بهروزرسانی Package Index
ابتدا Package Index مربوط به apt را بهروزرسانی کرده و بستههای موردنیاز برای استفاده از مخزن از طریق HTTPS را نصب کنید:
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg
-
مرحله دوم: اضافه کردن کلید GPG داکر
در مرحله بعد باید کلید رسمی GPG مربوط به Docker اضافه شود:
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
این مرحله برای آمادهسازی سیستم جهت استفاده از مخزن Docker انجام میشود.
-
مرحله سوم: تنظیم مخزن Docker
در ادامه مخزن Docker را به منابع apt اضافه کنید:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
-
مرحله چهارم: نصب Docker Engine
پس از تنظیم مخزن، فهرست بستهها را دوباره بهروزرسانی کنید و اجزای Docker را نصب کنید:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
طبق راهنمای Techoral، این دستور Docker Engine، Docker CLI، containerd، Buildx و Docker Compose Plugin را نصب میکند.
چگونه از نصب صحیح داکر مطمئن شویم؟
پس از نصب Docker، بهتر است اجرای صحیح آن را بررسی کنیم.
-
اجرای کانتینر Hello World
در ترمینال یا Command Prompt دستور زیر را اجرا کنید:
docker run hello-world
این دستور برای اجرای کانتینر Hello World استفاده میشود و میتواند برای بررسی عملکرد صحیح نصب Docker به کار رود.
-
بررسی نسخه Docker
برای مشاهده نسخه نصبشده Docker نیز میتوانید دستور زیر را اجرا کنید:
docker --version
اگر نسخه Docker نمایش داده شود، میتوان نتیجه گرفت که ابزار Docker در سیستم قابل دسترسی است.
Docker چه کاربردی دارد؟
Docker در بخشهای مختلف چرخه توسعه و اجرای نرمافزار کاربرد دارد.
-
توسعه و اجرای برنامهها
برنامهها میتوانند در قالب کانتینر اجرا شوند و وابستگیهای موردنیازشان همراه با محیط کانتینری مدیریت شوند.
-
مدیریت Image و Container
Docker امکان ساخت و مدیریت Imageها و اجرای آنها در قالب Container را فراهم میکند.
-
شبکهسازی کانتینرها
Docker قابلیتهایی برای برقراری ارتباط میان کانتینرها و همچنین ارتباط کانتینرها با محیط خارج ارائه میکند.
-
ذخیرهسازی داده
Docker Volume برای نگهداری داده خارج از فایلسیستم موقت کانتینر استفاده میشود. این موضوع اهمیت زیادی دارد، زیرا دادههایی که صرفاً داخل فایلسیستم کانتینر قرار دارند، ممکن است با توقف یا حذف کانتینر از بین بروند.
Docker در مقابل Kubernetes
Docker و Kubernetes دو مفهوم یکسان نیستند.
- Docker برای ساخت و اجرای کانتینرها استفاده میشود.
- Kubernetes یک سیستم مدیریت و ارکستراسیون کانتینرها در مقیاس بزرگ است.
به بیان ساده، Docker بیشتر روی ایجاد و مدیریت کانتینرها تمرکز دارد، در حالی که Kubernetes برای مدیریت و هماهنگسازی تعداد زیادی کانتینر در محیطهای گسترده طراحی شده است.
جمعبندی
Docker ابزاری برای توسعه، بستهبندی و اجرای برنامهها در قالب کانتینر است. کانتینرها کمک میکنند برنامه به همراه وابستگیهای موردنیاز خود در یک محیط قابلانتقالتر اجرا شود. در ویندوز، طبق راهنمای Techoral، نصب Docker از طریق Docker Desktop انجام میشود و WSL 2 backend در فرایند نصب مورد استفاده قرار میگیرد. در لینوکس نیز میتوان با تنظیم مخزن Docker و نصب Docker Engine، اجزای اصلی Docker را روی سیستم راهاندازی کرد. پس از نصب نیز اجرای دستورهای docker run hello-world و docker --version راهی برای بررسی اولیه عملکرد Docker هستند.
“Docker is an open platform for developing, shipping, and running applications.”
«Docker یک پلتفرم باز برای توسعه، انتقال و اجرای برنامههاست.»
منبع: Techoral
منابع مقاله
- GeeksforGeeks، Docker Tutorial
-
Techoral، How to Install and Set Up Docker on Windows, Mac, and Linux


دیدگاههای همراهان نوین
کامنت شما داره ارسال میشه…
0%
لطفاً چند لحظه صبر کنید
ارسال شد! ✨
دیدگاه شما ثبت شد. ممنون از همراهیتون.
ارسال انجام نشد