برنامه نویسی

داکر کردن یک برنامه اصلی Node.js/Nest.js

امروز یک برنامه Node.js را Dockerize می کنیم. برای امروز از Nest.js استفاده خواهیم کرد. اما دستورات و فرآیندها دقیقاً برای هر برنامه Node.js ساخته شده توسط برخی فریمورک های دیگر (مانند Express.js) یکسان است.

Nest.js چیست و چرا از آن استفاده می کنیم؟

Nest.js یک چارچوب Node.js مترقی است. راه های زیادی برای ساختاردهی پروژه های Nodejs وجود دارد، به خصوص زمانی که از Express یا سایر فریم ورک های مشابه استفاده می کنیم. اما زمانی که چندین نفر روی یک پروژه کار می کنند ممکن است مشکل ایجاد شود. Nest.js در این سناریوها به کمک می آید. از الگوی خاصی برای ایجاد یک پروژه پیروی می کند و به جدا نگه داشتن ماژول های مختلف برنامه ما از یکدیگر کمک می کند، که عالی است!

شروع کار با Nest.js

ابتدا باید cli Nest.js را نصب کنیم. دستور زیر را روی ترمینال خود اجرا کنید.

npm i -g @nestjs/cli
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پس از اتمام نصب، می‌توانیم به راحتی یک برنامه Nest.js جدید مانند این را داربست کنیم.

nest new example-app
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پس از مقداردهی اولیه، می توانیم به دایرکتوری پروژه رفته و پروژه را بلافاصله شروع کنیم!

cd example-app

yarn start:dev
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پروژه شما در پورت 3000 در هاست محلی شما اجرا خواهد شد. مرورگر خود را باز کنید و به http://localhost:3000/، و شما یک پاسخ “Hello World” دریافت خواهید کرد!

اولین پاسخ از برنامه NestJS!

داکر چیست و چرا باید از آن استفاده کنیم؟

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

مرحله 1: Docker را نصب کنید

برای نصب داکر به اینجا بروید https://docs.docker.com/get-docker/

مرحله 2: Docker را به پروژه خود اضافه کنید

یک فایل جدید به نام Dockerfile را در دایرکتوری ریشه خود اضافه کنید.

1681516155 344 داکر کردن یک برنامه اصلی NodejsNestjs

مرحله 3: دستورات Docker را اضافه کنید

کد زیر را به Dockerfile خود اضافه کنید.

1681516155 92 داکر کردن یک برنامه اصلی NodejsNestjs

بیایید کد را خط به خط تجزیه و تحلیل کنیم.

FROM node:12
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در اینجا ما تصویر پایه خود را تنظیم می کنیم که برنامه ما بر اساس آن اجرا می شود. در اینجا ما در حال انتخاب هستیم node:12 این یک تصویر رسمی از گره است که در داکر هاب یافت می شود.

WORKDIR /app
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ما فهرست کار خود را که برنامه نام دارد تنظیم می کنیم.

ADD package.json /app/package.json
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

فایل package.json را به پوشه کاری خود منتقل می کنیم.

RUN npm install
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ما نصب معمولی npm خود را در دایرکتوری ریشه خود اجرا می کنیم

ADD . /app
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ما محتویات را به فهرست برنامه منتقل می کنیم

پورت 3000 را در کانتینر در معرض دید قرار می دهیم تا بتواند با بیرون کانتینر ارتباط برقرار کند. بستگی به این دارد که برنامه شما روی کدام پورت اجرا می شود. برای لانه ها معمولاً 3000 است

CMD ["npm", "run", "start"]
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در نهایت، دستور خود را برای شروع برنامه اجرا می کنیم. هر فایل docker می تواند تنها یک دستور CMD در آن داشته باشد.

مرحله 4: تصویر Docker خود را بسازید

دستور زیر را برای ساخت تصویر داکر خود اجرا کنید. این را از همان دایرکتوری ریشه پروژه خود اجرا کنید

docker build . -t example-app
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در اینجا ما تصویر خود را با استفاده از -t نامگذاری می کنیم. ما می توانیم هر نامی برای تصویر خود بگذاریم. برای ثبات، ما از نام پروژه در اینجا استفاده می کنیم. مدتی طول می کشد تا تصویر ساخته شود.

مرحله 5: تصویر docker را اجرا کنید

ما می توانیم تصاویر را با اجرای آنها مشاهده کنیم.

docker images
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

تمام تصاویر موجود در دستگاه ما را فهرست می کند

تصاویر در دستگاه ما

می‌توانیم ببینیم که تصویر ما «آخرین» را به عنوان یک برچسب دارد. به صورت پیش فرض داده شده است. اگر بخواهیم می توانیم تصویر خود را دوباره تگ کنیم. اکنون برای اجرای تصویر خود، ابتدا باید نمونه در حال اجرا پروژه را متوقف کنیم Ctrl+C و سپس دستور زیر را اجرا کنید…

docker run --rm -it -p 3000:3000/tcp example-app:latest
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این دستور چندین بخش دارد، اما مهمترین بخش بررسی آن است 3000:3000/tcp اینجا؛ 3000 اول به معنای پورت میزبان محلی ما است که می خواهیم در تصویر داکر در حال اجرا نگاشت شود. و 3000 دوم همانگونه که قبلاً تنظیم کردیم، پورت آشکار شده از داخل کانتینر داکر است.

اگر بخواهیم ببینیم که کار می کند یا نه، می توانیم مانند قبل به مرورگر خود برویم و به. http://localhost:3000/ ببینید آیا آنطور که انتظار می رود کار می کند یا خیر.

مرحله 6: بازی با آن

اکنون می توانید کد خود را تغییر دهید، تصویر را دوباره بسازید و دوباره اجرا کنید تا ببینید آیا تغییر در تصویر داکر پیدا شده است یا خیر.

در اینجا می توانید کد پروژه را پیدا کنید.
https://github.com/Mohammad-Faisal/example-nestjs-app

از طریق لینکدین با من در تماس باشید

نوشته های مشابه

دیدگاهتان را بنویسید

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

دکمه بازگشت به بالا