داکر چیست؟ نصب داکر روی ویندوز | docker

نویسندهپاساوان
تاریخ انتشار08/02/1404
دسته بندیمقالات
بازدیدها41
دیدگاهبدون دیدگاه

آموزش جامع داکر برای توسعه دهندگان حرفه‌ای داکر به سرعت به یکی از ابزارهای ضروری و مهم برای توسعه‌دهندگان تبدیل شده است. این ابزار به شما این امکان را می‌دهد که برنامه‌ها و سرویس‌های خود را در containerها ایزوله کنید و این برنامه‌ها را در هر جایی که Docker نصب...

داکر چیست و چه کاربردی دارد

آموزش جامع داکر برای توسعه دهندگان حرفه‌ای

داکر به سرعت به یکی از ابزارهای ضروری و مهم برای توسعه‌دهندگان تبدیل شده است. این ابزار به شما این امکان را می‌دهد که برنامه‌ها و سرویس‌های خود را در containerها ایزوله کنید و این برنامه‌ها را در هر جایی که Docker نصب است، اجرا کنید. اگر به دنبال یک راهنمای جامع و پیشرفته برای کار با Docker هستید، این مقاله از پاساوان مخصوص شماست.

جهت کسب اطلاعات بیشتر در خصوص طراحی سایت حرفه ای با تیم پاساوان تماس بگیرید.

داکر چیست

داکر چیست و چرا باید آن را یاد بگیرید؟

داکر یک پلتفرم open-source است که به شما این امکان را میدهد تا برنامه‌ها و سرویس‌های خود را در محیط‌هایی ایزوله به نام container اجرا کنید. این محیط‌ها تمام منابع لازم (سیستم‌عامل، کتابخانه‌ها، و وابستگی‌ها) را در خود دارند و اجازه می‌دهند که برنامه‌ها در هر محیطی با ثبات و به راحتی پیاده سازی شوند.
Docker موجب می‌شود فرآیندهای دیپلوی، توسعه، و مقیاس‌پذیری بسیار ساده‌تر و سریع‌تر شوند.

نصب و پیکربندی  داکر

نصب Docker روی ویندوز

  1. به سایت رسمی Docker Desktop بروید و نسخه ویندوز را دانلود کنید.
  2. فایل نصب را اجرا کرده و مراحل را طی کنید. بعد از نصب، داکر خودکار شروع به کار می‌کند.
  3. برای بررسی نصب، دستور زیر را در Command Prompt وارد کنید:

docker –version

نصب داکر روی مک

مراحل مشابه ویندوز است. توجه کنید که نیاز به macOS نسخه 10.14 یا بالاتر دارید. بعد از نصب Docker Desktop، می‌توانید به راحتی آن را از نوار وظیفه باز کنید.

نصب Docker روی لینوکس

برای اوبونتو، این دستورالعمل‌ها را پیاده کنید:

sudo apt-get update

sudo apt-get install docker.io

sudo systemctl start docker

sudo systemctl enable docker

برای دیگر توزیع‌ها هم مشابه است، اما توجه کنید که نسخه‌های مختلف Docker کمی متفاوت است.

مفاهیم پایه‌ای Docker برای شروع

Containerها و Images

  • Container: یک محیط ایزوله میباشد که شامل برنامه و تمام وابستگی‌های آن می‌شود. به عبارت دیگر، container یک محیط مجازی برای برنامه شماست.
  • Image: تصویر پایه‌ای است که از آن یک container ساخته می‌شود. Docker Images می‌توانند سیستم‌عامل، کتابخانه‌ها و نرم‌افزارهای مورد نیاز را در خود داشته باشند.

نحوه نصب داکر

Dockerfile چیست و چگونه نوشته می‌شود؟

Dockerfile یک فایل متنی است که دستوراتی را تعیین می‌کند که داکر برای ساخت یک image از آن پیروی می‌کند. مثالی از Dockerfile برای یک برنامه Node.js:

# استفاده از تصویر پایه Node.js

FROM node:16

# تنظیم دایرکتوری کاری

WORKDIR /app

# کپی فایل‌های package.json و package-lock.json

COPY package*.json ./

# نصب وابستگی‌ها

RUN npm install

# کپی تمام فایل‌ها

COPY . .

# دستور اجرای برنامه

CMD [“npm”, “start”]

ساخت یک Image از Dockerfile

جهت ساختن یک Docker image از روی Dockerfile، دستور زیر را کپی و اجرا کنید:

docker build -t myapp .

این دستور یک image به نام myapp از پوشه فعلی می‌سازد.

اجرای یک Container از Image

برای اجرای یک container از روی image ساخته شده، از کپی دستور زیر استفاده کنید:

docker run -p 3000:3000 myapp

این دستور container را روی پورت ۳۰۰۰ اجرا مینماید.

Docker Compose؛ مدیریت چندین Container به صورت یکپارچه

Docker Compose ابزاری است که به شما اجازه می‌دهد چندین container را با یک دستور مدیریت نمایید. در پروژه‌های پیچیده، به چندین service نیاز داریم که Docker Compose این کار را ساده می‌کند.

ساخت فایل docker-compose.yml

این فایل تمام سرویس‌ها و تنظیمات مختلف آن‌ها را در خود جای داده است. مثالی از یک فایل docker-compose.yml برای یک اپلیکیشن Node.js که به دیتابیس MySQL متصل میشود:

version: ‘3’

services:

  web:

    build: .

    ports:

      – “3000:3000”

    depends_on:

      – db

  db:

    image: mysql:5.7

    environment:

      MYSQL_ROOT_PASSWORD: example

در این فایل:

  • سرویس web یک اپلیکیشن Node.js است که به سرویس db که MySQL است، وابسته است.
  • با دستور docker-compose up، تمام سرویس‌ها همزمان راه‌اندازی می‌شوند.

اجرای Docker Compose

برای راه‌اندازی تمامی سرویس‌ها از این دستور استفاده کنید:

docker-compose up

برای اجرای آن‌ها در پس‌زمینه، از دستور زیر استفاده نمایید:

docker-compose up -d

مدیریت Volumeها در Docker

در Docker، Volumeها برای ذخیره داده‌ها به کار می‌روند. داده‌های موجود در containers بعد از توقف و حذف آن‌ها از بین می‌روند، اما volumeها می‌توانند داده‌ها را در میان containerها حفظ کنند.

ساخت Volume در Docker

برای ساخت volume از دستور زیر استفاده می‌کنیم:

docker volume create myvolume

اتصال Volume به یک Container

برای اتصال یک volume به container در زمان اجرای آن، از دستور زیر استفاده کنید:

docker run -v myvolume:/data myapp

این دستور یک volume به نام myvolume را به مسیر /data در داخل container وصل می‌کند.

شبکه‌بندی در داکر

یکی از قابلیت‌های بسیار قدرتمند و مهم داکر، مدیریت شبکه‌ها است. Docker این امکان را به شما می‌دهد که چندین container را به‌طور ایزوله در شبکه‌های مختلف جای دهید.

ایجاد شبکه جدید در داکر

برای ساخت یک شبکه تازه از دستور زیر استفاده کنید:

docker network create mynetwork

اتصال Containerها به شبکه

جهت اتصال container به شبکه هنگام اجرای آن، از دستور زیر استفاده کنید:

docker run –network=mynetwork myapp

امنیت در Docker؛ بهترین شیوه‌ها

محدود کردن منابع برای Containers

برای جلوگیری از مصرف بیش از اندازه منابع سیستم، می‌توانید محدودیت‌هایی برای CPU و حافظه تعیین کنید:

docker run –memory=512m –cpus=1.0 myapp

این دستور حافظه container را به ۵۱۲ مگابایت و CPU آن را به ۱ هسته محدود می‌کند.

به‌روزرسانی منظم تصاویر Docker

جهت جلوگیری از استفاده از تصاویر قدیمی و آسیب‌پذیر، همیشه به‌روزرسانی‌های امنیتی Docker را بررسی کنید و به‌طور منظم تصاویر خود را به‌روزرسانی کنید.

docker pull node:latest

نکات پیشرفته برای کار با Docker

  • Multistage Builds: اگر نیاز دارید تصویر خود را بهینه کنید، از تکنیک‌های Multistage Build استفاده نمایید تا فقط آنچه که نیاز دارید در تصویر نهایی باقی بماند.
  • Docker Swarm: برای مدیریت اورکستراسیون containerها در یک خوشه (Cluster)، از Docker Swarm استفاده کنید.
  • Docker + Kubernetes: برای مقیاس‌پذیری بزرگ و مدیریت بهتر containerها در محیط‌های تولید، Docker را با Kubernetes ترکیب نمایید.

کدهای پرکاربرد داکر

چرا Docker ابزار حیاتی برای توسعه دهندگان است؟

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

دیدگاه خودتان را بیان کنید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

در حافظه موقت کپی شد