پرش به مطلب اصلی

قالب های Dockerfile برای فریم ورک های Node.js

این راهنما به شما کمک می‌کند تا Dockerfile های مناسب برای پروژه‌های مبتنی بر Node.js بسازید. ما قالب‌هایی برای فریم‌ورک‌های محبوب Vue.js، React.js، Next.js و Nuxt.js ارائه می‌دهیم.

نکات کلیدی برای تمام Dockerfile ها

  1. استفاده از تصاویر رسمی Node.js
  2. ایجاد یک کاربر غیر root برای امنیت بیشتر
  3. استفاده از متغیرهای محیطی برای انعطاف‌پذیری بیشتر
  4. بهینه‌سازی برای هر فریم‌ورک خاص
FROM node:$node_version
ARG UID=1000
ARG GID=1000
ENV PORT=3000
ENV HOSTNAME=0.0.0.0
RUN groupadd -g $GID -o app && \
useradd -g $GID -u $UID -mr -d /home/app -o -s /bin/bash app
USER app
WORKDIR /home/app
COPY --chown=app:app app/ /home/app/
RUN npm install
CMD [ "npx", "next", "start", "--hostname", "0.0.0.0", "-p", "$PORT" ]
اطلاع
  • این Dockerfile برای Next.js از یک مرحله واحد استفاده می‌کند، زیرا Next.js به Node.js در زمان اجرا نیاز دارد.
  • از دستور npx next start برای اجرای برنامه استفاده می‌شود.
توجه
  • اطمینان حاصل کنید که $node_version را با نسخه مناسب Node.js جایگزین کرده‌اید.
  • متغیر PORT را تعیین کرده اید که در تنظیمات پیشرفته یا داشبورد پروژه در کوبار جایگزین کنید .

بیلد و اجرا کردن داکر فایل

برای بیلد کردن داکر فایل و ساخت ایمیج از دستور

docker build -t [ProjectName] .
  • t- : دادن برچسپ و نام مخصوص برای پروژه

و سپس برای اجرای آن:

docker run -p outport:inport[3000] --name=container-name -d [ProjectName]
  • p- : تعیین پورت برای اجرای پروژه
  • outport : پورتی خارجی
  • inport : پورت داخلی پروژه که در داکر فایل تعیین کرده اید
  • name-- : تعیین نام کانتینر
  • d- : اجرای کانتینر در حالت بدون نمایش
توجه
  1. امنیت: همیشه از آخرین نسخه‌های پایدار Node.js و Nginx استفاده کنید.
  2. تست: قبل از استقرار در محیط تولید، حتماً ایمیج Docker خود را در یک محیط مشابه تولید تست کنید.