FSD – 1.1.4 – راه اندازی Docker

داکر چیست؟
Docker یک پلت فرم منبع باز است که به توسعه دهندگان اجازه می دهد تا استقرار برنامه ها را در ظروف سبک وزن و قابل حمل خودکار کنند. این کانتینرها کد برنامه را با تمام وابستگیها، کتابخانهها و پیکربندیهای آن دستهبندی میکنند و از اجرای مداوم آن در محیطهای مختلف اطمینان میدهند.
چرا به Docker نیاز داریم؟
-
قابل حمل بودن: کانتینرهای Docker در هر سیستمی به یک شکل اجرا می شوند – چه لپ تاپ شما، یک سرور آزمایشی یا یک نمونه ابر تولیدی.
-
سازگاری: با اطمینان از محیط های یکنواخت، مشکل “کارهای روی ماشین من” را از بین می برد.
-
کارایی: کانتینرها سبک هستند و از منابع کمتری نسبت به ماشین های مجازی سنتی استفاده می کنند.
-
ماموران سریع السیرt: داکر فرآیند استقرار را ساده و سرعت می بخشد.
-
انزوا: هر کانتینر ایزوله شده است و باعث کاهش تضاد بین وابستگی ها و بهبود امنیت می شود.
استفاده از Docker برای توسعه
1. یک محیط توسعه محلی راه اندازی کنید
مشکل بدون داکر:
- شما باید نسخه مناسب Node.js، پایگاه های داده (مانند MongoDB) یا ابزارهای دیگر را به صورت دستی نصب کنید.
- نسخهها یا تنظیمات مختلف میتوانند باعث مشکلات «در رایانه من کار میکند اما در رایانه شما نه» ایجاد کنند.
Docker چگونه کمک می کند:
- شما از تصاویر Docker (تنظیمات از پیش پیکربندی شده) برای Node.js و هر ابزار دیگری که نیاز دارید استفاده می کنید.
- تیم شما تنها با یک فایل، همان محیط را در دستگاه های خود دریافت می کند
2. به راحتی با تیم خود همکاری کنید
مشکل بدون داکر:
- یک هم تیمی ممکن است Node.js 18 داشته باشد، دیگری Node.js 16 داشته باشد و همه چیز خراب شود.
- تنظیم ابزار برای هر پروژه جدید به زمان نیاز دارد.
Docker چگونه کمک می کند:
- فایل docker-compose.yml را با تیم خود به اشتراک بگذارید.
- همه بدون در نظر گرفتن رایانهشان، Docker-compose up را اجرا میکنند و دقیقاً همان محیط را دریافت میکنند.
چرا این مفید است:
- هیچ مشکل “روی ماشین من کار می کند”.
- اعضای جدید تیم می توانند بلافاصله بدون دردسر راه اندازی شروع به کدنویسی کنند.
3. تنظیمات مختلف را به راحتی تست کنید
مثال
- برنامه شما با Node.js 18 کار می کند، اما می خواهید آن را با Node.js 16 آزمایش کنید.
- به جای نصب مجدد Node.js، فقط نسخه را در تنظیمات Docker خود تغییر دهید و مجدداً راه اندازی کنید
استفاده از داکر برای تولید
استقرار برنامه
به Docker به عنوان راهی برای بسته بندی برنامه خود در یک “جعبه” (به نام کانتینر) فکر کنید که شامل همه چیزهایی است که برای اجرا نیاز دارد. این مطمئن می شود که برنامه شما بدون توجه به جایی که در حال اجرا است یکسان عمل می کند.
برنامه Node.js خود را با Docker اجرا کنید
تصور کنید در حال ساخت یک برنامه Node.js هستید (مثلاً یک وب سایت یا API) و می خواهید آن را روی سروری اجرا کنید تا کاربران به آن دسترسی داشته باشند. به جای اینکه Node.js را به صورت دستی روی سرور تنظیم کنید، برنامه خود را با Docker بسته بندی می کنید.
مراحل:
ایجاد یک تصویر Docker:
این مانند ایجاد یک طرح اولیه برای برنامه شما است که شامل:
- کد برنامه شما
- Node.js (نسخه ای که برنامه شما به آن نیاز دارد).
- هر کتابخانه ای که برنامه شما استفاده می کند.
تصویر را به یک رجیستری فشار دهید:
این را به عنوان آپلود “جعبه” خود در یک منطقه ذخیره سازی (به عنوان مثال، Docker Hub یا AWS) در نظر بگیرید.
برنامه را روی سرور اجرا کنید:
از تصویر برای راه اندازی یک ظرف در سرور استفاده کنید.
مثال:
شما یک برنامه Node.js دارید که روی پورت 3000 اجرا میشود. وقتی کانتینر را اجرا میکنید، برنامه شما آماده ارائه درخواستها در آن پورت است.
چرا این مفید است:
- نگران این نباشید که آیا سرور نسخه مناسب Node.js یا وابستگی های آن را دارد.
- اگر چیزی روی رایانه شما کار می کند، روی سرور نیز کار می کند.
راه اندازی DOCKER
- راه اندازی Docker در اوبونتو
مرحله 1: سیستم خود را به روز کنید
دستورات زیر را برای به روز رسانی بسته های سیستم خود اجرا کنید:
sudo apt update
sudo apt upgrade -y
مرحله 2: Docker را نصب کنید
1. نسخه های قدیمی را حذف کنید (در صورت وجود):
sudo apt remove docker docker-engine docker.io containerd runc
2. Docker را با استفاده از مخزن رسمی نصب کنید:
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
3. تأیید نصب Docker:
docker --version
مرحله 3: اجازه Docker Without sudo
- کاربر خود را به گروه docker اضافه کنید:
sudo usermod -aG docker $USER
- برای اعمال تغییرات از سیستم خارج شوید و دوباره وارد شوید.
مرحله 4: Docker Compose را نصب کنید
Docker Compose ابزاری برای مدیریت برنامه های کاربردی چند کانتینری است.
- نصبش کن با:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- آن را قابل اجرا کنید
sudo chmod +x /usr/local/bin/docker-compose
- تأیید نصب:
docker-compose --version
2. راه اندازی Docker در macOS با استفاده از Colima
Colima یک زمان اجرا کانتینر سبک وزن و سازگار با Docker برای macOS است که به Docker Desktop نیاز ندارد. از qemu در زیر کاپوت استفاده می کند و به طور یکپارچه با Docker CLI ادغام می شود.
ما از این استفاده می کنیم زیرا Docker Desktop دیگر رایگان نیست.
مرحله 1: Colima را نصب کنید
1. Colima را از طریق Homebrew نصب کنید:
brew install colima
2. نصب را تأیید کنید:
colima version
مرحله 2: Docker CLI را نصب کنید
- ابزارهای Docker CLI را از طریق Homebrew نصب کنید:
brew install docker docker-compose
- تأیید نصب:
docker --version
docker-compose --version
مرحله 3: Colima را شروع کنید
- Colima را با پشتیبانی Docker شروع کنید:
colima start
- تأیید کنید که Colima در حال اجرا است:
colima status
مرحله 4: آزمایش Docker با Colima
- برای تأیید کارکرد همه چیز، تصویر hello-world Docker را اجرا کنید:
docker run hello-world
- ظروف در حال اجرا را بررسی کنید:
docker ps
در این مرحله، ما در حال راهاندازی محیط Docker هستیم، که ممکن است بسیار طاقت فرسا باشد. نگران نباشید – بعداً به این خواهیم پرداخت که Docker چیست و چگونه به ما در طول توسعه و تولید هنگام ساخت برنامه کمک می کند.