Docker کے اندر Node.js میں "مسنگ اسٹارٹ اسکرپٹ" کی خرابی کو حل کرنا

Docker کے اندر Node.js میں مسنگ اسٹارٹ اسکرپٹ کی خرابی کو حل کرنا
Docker کے اندر Node.js میں مسنگ اسٹارٹ اسکرپٹ کی خرابی کو حل کرنا

Docker میں Node.js بیک اینڈ شروع کرنا: ایک ٹربل شوٹنگ گائیڈ

چلانے کی کوشش کرتے وقت ایک خرابی کا سامنا کرنا Node.js بیک اینڈ اندر a ڈوکر کنٹینر مایوس کن ہو سکتا ہے، خاص طور پر جب یہ ایک سادہ "گمشدہ شروع اسکرپٹ" پیغام کی وجہ سے ہو۔ یہ غلطی اکثر اس وقت ہوتی ہے جب این پی ایم آپ کے سیٹ اپ میں صحیح اسٹارٹ کمانڈ نہیں مل سکتی۔ اگر آپ اس سے متاثر ہوئے ہیں، تو آپ اکیلے نہیں ہیں!

بہت سے معاملات میں، مسئلہ آپ کے package.json اور Docker سیٹنگز کے درمیان غلط راستوں یا غلط ترتیب شدہ کنفیگریشنز پر ابلتا ہے۔ اس سے نمٹنے کے دوران ایک چھوٹی سی تفصیل کو نظر انداز کرنا آسان ہے۔ کثیر مرحلے کی تعمیرکنٹینرائزیشن، اور کنفیگریشن فائلز۔ خود اس مسئلے کا سامنا کرنے کے بعد، میں کہہ سکتا ہوں کہ اسے ٹھیک کرنے میں اکثر ہر فائل کی پلیسمنٹ اور اسکرپٹس کو چیک کرنا شامل ہوتا ہے۔

مثال کے طور پر، میں نے ایک بار بیک اینڈ تعینات کیا اور بعد میں احساس ہوا کہ میرے ڈسٹ فولڈر کو صحیح طریقے سے میپ نہیں کیا گیا تھا، جس کی وجہ سے اسٹارٹ کمانڈ ناکام ہو گئی۔ آسان طریقے ان مسائل کو حل کر سکتے ہیں، لیکن صحیح کو تلاش کرنے میں صبر کی ضرورت ہوتی ہے۔ یہ جانچنا کہ آیا تمام انحصار اور اسکرپٹس کو صحیح طریقے سے نقشہ بنایا گیا ہے ڈیبگنگ کے گھنٹوں کو بچا سکتا ہے۔

اس گائیڈ میں، ہم اس خرابی کو ٹھیک کرنے کے لیے کچھ عملی اقدامات پر غور کریں گے، خاص طور پر اگر آپ اپنے بیک اینڈ کو ڈیٹا بیس کے ساتھ چلا رہے ہیں جیسے DynamoDB ڈوکر میں آئیے آپ کے بیک اینڈ کو آسانی سے چلانے کے لیے "گمشدہ اسٹارٹ اسکرپٹ" کی خرابی کو ایک ساتھ حل کریں!

حکم تفصیل
CMD ["node", "dist/server.js"] ابتدائی کمانڈ کی وضاحت کرتا ہے جو آغاز کے وقت ڈوکر کنٹینر میں چلتا ہے۔ یہاں، یہ ڈوکر کو ہدایت کرتا ہے کہ وہ ڈسٹ فولڈر کے اندر سرور ڈاٹ جے ایس کو ایڈریس کرکے ایپلیکیشن شروع کرے۔ شروع کی اسکرپٹ غائب ہے۔ اس بات کو یقینی بناتے ہوئے کہ ڈوکر جانتا ہے کہ کون سا اسکرپٹ چلنا ہے۔
WORKDIR /app کنٹینر کے اندر ورکنگ ڈائرکٹری کو /app پر سیٹ کرتا ہے۔ یہ اس بات کو یقینی بنانے کے لیے اہم ہے کہ تمام فائل پاتھ اس ڈائرکٹری کا حوالہ دیتے ہیں، ڈوکر کے اندر تعمیر اور رن ٹائم کے عمل کو ہموار کرتے ہیں۔
COPY --from=builder /app/dist ./dist بلڈر اسٹیج میں ڈسٹ فولڈر سے بلٹ فائلوں کو رن ٹائم ماحول کی ڈسٹ ڈائرکٹری میں کاپی کرتا ہے۔ یہ کمانڈ اس بات کو یقینی بنانے کے لیے ضروری ہے کہ مرتب شدہ TypeScript فائلیں کنٹینر میں دستیاب ہوں۔
RUN npm install --omit=dev دیو انحصار کو چھوڑ کر صرف پیداواری انحصار کو انسٹال کرتا ہے۔ یہ کمانڈ پروڈکشن کی تعمیرات کے لیے موزوں ہے، کنٹینر کے حتمی سائز کو کم کرنے اور ترقیاتی ٹولز کو چھوڑ کر سیکیورٹی کو بہتر بناتی ہے۔
healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000"] یہ تصدیق کرنے کے لیے ہیلتھ چیک کی وضاحت کرتا ہے کہ آیا Docker کے اندر DynamoDB سروس چل رہی ہے۔ یہ مخصوص مقامی اینڈ پوائنٹ سے کنکشن کی کوشش کرنے کے لیے curl کا استعمال کرتا ہے، اس بات کو یقینی بناتے ہوئے کہ بیک اینڈ شروع ہونے سے پہلے سروس دستیاب ہے۔
depends_on: docker-compose.yml میں انحصار کی وضاحت کرتا ہے۔ یہاں، یہ یقینی بناتا ہے کہ بیک اینڈ سروس DynamoDB کے شروع ہونے کا انتظار کرتی ہے، غلطیوں کو غیر تیار سروس سے منسلک کرنے کی کوشش سے روکتی ہے۔
EXPOSE 3001 ڈوکر کنٹینر کے اندر پورٹ 3001 کھولتا ہے، اس پورٹ پر بیک اینڈ سروس کو قابل رسائی بناتا ہے۔ یہ کمانڈ نیٹ ورکنگ کو ترتیب دینے اور بیرونی خدمات یا دیگر کنٹینرز کو بیک اینڈ تک رسائی کی اجازت دینے کے لیے درکار ہے۔
test('dist folder exists', ...) ایک جیسٹ یونٹ ٹیسٹ جو چیک کرتا ہے کہ آیا ڈسٹ فولڈر صحیح طریقے سے تیار ہوا ہے۔ یہ ٹیسٹ اس بات کی توثیق کرنے میں مدد کرتا ہے کہ تعمیراتی مرحلہ کامیاب ہو گیا، ڈسٹ ڈائرکٹری میں غائب فائلوں کے ساتھ ممکنہ مسائل کو پکڑنے میں۔
expect(packageJson.scripts.start) ایک جیسٹ ٹیسٹ لائن جو اس بات کی تصدیق کرتی ہے کہ ابتدائی اسکرپٹ package.json میں موجود ہے۔ یہ تعیناتی سے پہلے کنفیگریشن کی درستگی کو یقینی بنا کر رن ٹائم کی غلطیوں کو سٹارٹ کمانڈز کو غائب ہونے سے روکنے میں مدد کرتا ہے۔

Node.js اور ڈیٹا بیس کنکشن کے لیے ڈاکر کنفیگریشن

مندرجہ بالا مثال میں، ڈوکر سیٹ اپ ایک ملٹی اسٹیج کی تعمیر کا فائدہ اٹھاتا ہے، جو پیداوار کے لیے تیار کنٹینرز بنانے کے لیے مفید ہے۔ پہلا مرحلہ، جسے "بلڈر" کے طور پر بیان کیا گیا ہے، انحصار کو انسٹال کرتا ہے اور مرتب کرتا ہے۔ ٹائپ اسکرپٹ فائلوں کو جاوا اسکرپٹ میں ضلع فولڈر یہ قدم اس بات کو یقینی بناتا ہے کہ مرتب کردہ کوڈ غیر ضروری دیو انحصار کو شامل کیے بغیر پیداوار کے لیے تیار ہے۔ ایک بار تعمیر ہونے کے بعد، دوسرا مرحلہ (رن ٹائم) کنٹینر کے سائز کو کم سے کم کرتے ہوئے، صرف مرتب شدہ فائلوں اور پروڈکشن انحصار کو کاپی کرتا ہے۔ یہ سیٹ اپ خاص طور پر مددگار ہے اگر آپ کثرت سے کلاؤڈ ماحول میں تعینات کر رہے ہیں جہاں ہر ایک کو بہتر بنانے کا شمار ہوتا ہے! 🚀

دی ورکڈائر دونوں مراحل میں کمانڈ کنٹینر کی ورکنگ ڈائرکٹری کو /app پر سیٹ کرتی ہے۔ یہ فائل کے راستوں کو آسان بناتا ہے اور اس ڈائرکٹری کے ارد گرد تمام کارروائیوں کو منظم کرتا ہے۔ اس کے بعد، کاپی کریں۔ ہدایات مخصوص فائلوں کو میزبان مشین سے کنٹینر میں منتقل کرتی ہیں۔ پہلے مرحلے میں، پیکیج*.json فائلز اور tsconfig.json کو کاپی کیا جاتا ہے تاکہ انحصار کی تنصیب اور ٹائپ اسکرپٹ کی تالیف، اور این پی ایم انسٹال چلائیں۔ اور چلائیں این پی ایم رن بلڈ کمانڈ اس بات کو یقینی بناتے ہیں کہ سب کچھ صحیح طریقے سے ترتیب دیا گیا ہے۔ یہ سیٹ اپ اس بات کو یقینی بنا کر کہ تمام فائلوں کو صحیح طریقے سے کاپی اور کنفیگر کیا گیا ہے، شروع ہونے والے اسکرپٹس کے غائب ہونے جیسے مسائل سے بچنے میں مدد کرتا ہے۔

دی docker-compose.yml فائل بیک اینڈ کو جوڑتا ہے۔ DynamoDB، جو مقامی جانچ اور ترقی کے لیے ضروری ہے۔ دی منحصر_پر آپشن ڈوکر کو بیک اینڈ سروس سے پہلے DynamoDB شروع کرنے کو کہتا ہے، اس بات کو یقینی بناتے ہوئے کہ ڈیٹا بیس بیک اینڈ سے کنکشن کی کسی بھی کوشش کے لیے تیار ہے۔ حقیقی دنیا کے منظرناموں میں، اس طرح کا انحصار سیٹ اپ نہ ہونا کنیکٹیویٹی کے مسائل کا باعث بن سکتا ہے جب بیک اینڈ ڈیٹا بیس سے پہلے شروع ہوتا ہے، جس کے نتیجے میں مایوس کن غلطیاں پیدا ہوتی ہیں۔ دی صحت کی جانچ کمانڈ ٹیسٹ کرتا ہے کہ آیا DynamoDB اینڈ پوائنٹ کو پنگ کر کے قابل رسائی ہے، کنکشن قائم ہونے تک دوبارہ کوشش کرنا۔ خرابی سے نمٹنے کے اس درجے سے خدمات کے صحیح ترتیب میں شروع ہونے کو یقینی بنا کر وقت کی بچت ہوتی ہے 🕒۔

آخر میں، package.json میں، ہم نے وضاحت کی ہے۔ شروع سکرپٹ کے طور پر node dist/server.js. یہ کمانڈ اس بات کو یقینی بناتی ہے کہ NPM بالکل جانتا ہے کہ کنٹینر میں کون سی فائل چلانی ہے، جس سے "گمشدہ شروع اسکرپٹ" کی خرابی سے بچنے میں مدد ملتی ہے۔ ٹائپ اسکرپٹ کوڈ کو مرتب کرنے کے لیے ایک بلڈ کمانڈ اور ڈسٹ فولڈر کو ہٹانے کے لیے کلین کمانڈ بھی ہے، اس بات کو یقینی بناتے ہوئے کہ ہر تعیناتی نئے سرے سے شروع ہو۔ اس طرح کے npm اسکرپٹس کا استعمال سیٹ اپ کو زیادہ قابل اعتماد بناتا ہے، خاص طور پر جب Docker ملوث ہوتا ہے، کیونکہ یہ پیش گوئی کے قابل راستے اور اعمال پیش کرتا ہے۔ Docker، Docker Compose، اور NPM اسکرپٹس کی یہ جامع ترتیب ایک ہموار ترقی سے پروڈکشن ورک فلو بنانے کے لیے مل کر کام کرتی ہے۔

حل 1: درست فائل کاپی کرنے کے لیے Dockerfile اور Package.json کو ایڈجسٹ کرنا

یہ حل Docker اور Node.js کو اس بات کو یقینی بنانے کے لیے استعمال کرتا ہے کہ فائلوں کو صحیح طریقے سے کاپی کیا گیا ہے۔ ضلع فولڈر اور وہ NPM تلاش کرسکتا ہے۔ شروع سکرپٹ

# Dockerfile
FROM node:18 AS builder
WORKDIR /app
# Copy necessary config files and install dependencies
COPY package*.json tsconfig.json ./
RUN npm install
# Copy all source files and build the project
COPY . .
RUN npm run build
# Production stage
FROM node:18-alpine
WORKDIR /app
COPY --from=builder /app/package*.json ./
RUN npm install --omit=dev
COPY --from=builder /app/dist ./dist
EXPOSE 3001
# Adjust command to start the server
CMD ["node", "dist/server.js"]

حل 2: ماحولیات کے کنٹرول کے لیے docker-compose.yml میں ترمیم کرنا

یہ حل اس میں ترمیم کرتا ہے۔ docker-compose.yml درست کمانڈز کی وضاحت اور اس بات کو یقینی بنانے کے لیے کہ اسکرپٹس کو Docker کے اندر صحیح طریقے سے چلایا جائے۔

# docker-compose.yml
version: "3.9"
services:
  backend:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "3001:3001"
    environment:
      PORT: 3001
    depends_on:
      - dynamodb
    command: ["npm", "run", "start"]
  dynamodb:
    image: amazon/dynamodb-local
    ports:
      - "8001:8000"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000"]
      interval: 10s
      timeout: 5s
      retries: 5

حل 3: Package.json اسکرپٹس کی تصدیق اور اپ ڈیٹ کرنا

اس حل میں اس بات کو یقینی بنانا شامل ہے۔ شروع اسکرپٹ میں صحیح طریقے سے وضاحت کی گئی ہے۔ package.json لاپتہ سکرپٹ کی غلطیوں کو روکنے کے لئے فائل.

{
  "name": "backend",
  "version": "1.0.0",
  "main": "dist/server.js",
  "scripts": {
    "build": "tsc",
    "start": "node dist/server.js",
    "dev": "nodemon --exec ts-node src/server.ts",
    "clean": "rimraf dist"
  }
}

یونٹ ٹیسٹ: اسکرپٹ اور ڈوکر کنفیگریشن کی سالمیت کو یقینی بنانا

یہ جیسٹ ٹیسٹ اس بات کی توثیق کرتے ہیں کہ ضروری فائلوں کو صحیح طریقے سے کاپی کیا گیا ہے اور NPM اسکرپٹ کنٹینر کے ماحول میں کام کرتے ہیں۔

// test/deployment.test.js
const fs = require('fs');
describe('Deployment Tests', () => {
  test('dist folder exists', () => {
    expect(fs.existsSync('./dist')).toBe(true);
  });
  test('start script exists in package.json', () => {
    const packageJson = require('../package.json');
    expect(packageJson.scripts.start).toBe("node dist/server.js");
  });
  test('Dockerfile has correct CMD', () => {
    const dockerfile = fs.readFileSync('./Dockerfile', 'utf8');
    expect(dockerfile).toMatch(/CMD \["node", "dist\/server.js"\]/);
  });
});

Node.js پروجیکٹس کے لیے Docker میں فائل کی مناسب کاپی اور ساخت کو یقینی بنانا

Docker میں Node.js ایپلی کیشنز کے ساتھ کام کرتے وقت، ایک اہم بات یہ یقینی بنانا ہے کہ تمام ضروری فائلوں کو کنٹینر میں صحیح طریقے سے کاپی اور ڈھانچہ بنایا گیا ہے۔ ملٹی اسٹیج بلڈز میں، اوپر کی مثال کی طرح، ہر مرحلے کا ایک خاص مقصد ہوتا ہے۔ ابتدائی مرحلہ، "بلڈر"، ٹائپ اسکرپٹ کو جاوا اسکرپٹ میں مرتب کرنے کا انتظام کرتا ہے اور اسے تیار کرتا ہے۔ ضلع فولڈر دوسرے مرحلے میں، صرف پروڈکشن فائلیں شامل ہیں، کنٹینر کے سائز کو کم کرنا اور تعیناتی کو بہتر بنانا۔ یہ نقطہ نظر نہ صرف غیر ضروری پھولنے کو کم کرتا ہے بلکہ ترقیاتی ٹولز کو چھوڑ کر سیکیورٹی کو بھی بڑھاتا ہے۔

Node.js کے لیے Docker کا ایک لازمی پہلو ترتیب دینا ہے۔ package.json اور سکرپٹ شروع کریں درست طریقے سے Dockerfile میں راستوں کو واضح طور پر بتا کر اور اس بات کو یقینی بنا کر کہ اسٹارٹ کمانڈ مناسب طریقے سے ترتیب دی گئی ہے۔ package.json، آپ غلطیوں کو کم کرتے ہیں جیسے "غائب آغاز اسکرپٹ۔" یہ تصدیق کرنا بھی ضروری ہے کہ ڈوکر جانتا ہے کہ ہر فائل کو کہاں ہونا چاہئے، خاص طور پر پیچیدہ سیٹ اپ میں جس میں متعدد سروسز یا فولڈر شامل ہیں۔ مثال کے طور پر، صرف شامل کرنے کے لیے COPY کمانڈ استعمال کریں۔ ضلع فولڈر اور حتمی کنٹینر میں ضروری کنفیگریشن اس بات کو یقینی بناتا ہے کہ صرف ضروری فائلیں پروڈکشن میں دستیاب ہوں 📂۔

اپنی خدمات کی صحت کی جانچ کرنے کے لیے، docker-compose.yml فائل ڈیٹا بیس کے تیار ہونے کی تصدیق کے لیے ہیلتھ چیک کا استعمال کرتی ہے۔ انحصار کی وضاحت کرکے، ہم اس بات کو یقینی بناتے ہیں کہ بیک اینڈ سروس اس وقت تک شروع نہیں ہوتی جب تک کہ ڈیٹا بیس ریسپانسیو نہ ہو، وقت سے متعلق کنکشن کے مسائل کو روکتا ہے۔ یہ سیٹ اپ خاص طور پر حقیقی دنیا کی ایپلی کیشنز میں فائدہ مند ہے جہاں ڈیٹا بیس کنیکٹیویٹی بہت ضروری ہے۔ اس ڈھانچے کے بغیر، سروسز دیگر سروسز کے ختم ہونے سے پہلے منسلک ہونے کی کوشش کر سکتی ہیں، جس کے نتیجے میں رن ٹائم کی خرابیاں اور صارفین کے لیے ممکنہ ڈاؤن ٹائم 🔄 ہو سکتا ہے۔

Node.js میں "مسنگ اسٹارٹ اسکرپٹ" کو ٹھیک کرنے کے بارے میں عام سوالات

  1. NPM میں "گمشدہ شروع اسکرپٹ" کی خرابی کی کیا وجہ ہے؟
  2. یہ غلطی اکثر اس وقت ہوتی ہے جب package.json فائل میں ایک نہیں ہے۔ start اسکرپٹ کی وضاحت کی گئی ہے۔ NPM درخواست شروع کرنے کے لیے صحیح انٹری پوائنٹ نہیں ڈھونڈ سکتا۔
  3. کرتا ہے۔ package.json فائل میں ہونا ضروری ہے۔ dist فولڈر؟
  4. نہیں، دی package.json عام طور پر روٹ ڈائرکٹری میں رہتا ہے، اور صرف ضروری فائلیں کاپی کی جاتی ہیں۔ dist فولڈر
  5. ہم ڈوکر میں ملٹی اسٹیج بلڈز کیوں استعمال کرتے ہیں؟
  6. ملٹی اسٹیج بلڈز ہمیں ہلکے وزن والے، پروڈکشن کے لیے تیار کنٹینرز بنانے کی اجازت دیتے ہیں۔ تعمیر اور رن ٹائم ماحول کو الگ کرنے سے، غیر ضروری فائلوں کو خارج کر دیا جاتا ہے، جس سے سیکورٹی اور کارکردگی بہتر ہوتی ہے۔
  7. کیسے کرتا ہے healthcheck ڈوکر کمپوز مدد میں؟
  8. دی healthcheck کمانڈ چیک کرتا ہے کہ آیا کوئی سروس چل رہی ہے، جو ان صورتوں میں ضروری ہے جہاں پر منحصر خدمات کو پہلے تیار ہونا ضروری ہے، جیسے ڈیٹا بیس۔
  9. کیا میں اس سیٹ اپ میں DynamoDB کے بجائے دوسرے ڈیٹا بیس استعمال کر سکتا ہوں؟
  10. ہاں، آپ بدل سکتے ہیں۔ DynamoDB دوسرے ڈیٹا بیس کے ساتھ۔ اپنی ترجیحی ڈیٹا بیس سروس کے مطابق ڈوکر کمپوز کنفیگریشن کو ایڈجسٹ کریں۔
  11. ہم کیوں استعمال کرتے ہیں RUN npm install --omit=dev حکم؟
  12. یہ کمانڈ صرف پروڈکشن انحصار کو انسٹال کرتی ہے، جو ڈویلپمنٹ ٹولز کو چھوڑ کر کنٹینر کو ہلکا رکھنے میں مدد کرتی ہے۔
  13. میں اس کی تصدیق کیسے کرسکتا ہوں۔ dist فولڈر کو صحیح طریقے سے کاپی کیا گیا ہے؟
  14. یہ چیک کرنے کے لیے آپ اپنے کوڈ میں ٹیسٹ شامل کر سکتے ہیں۔ dist موجود ہے، یا تعمیر کے بعد کنٹینر کے مواد کا معائنہ کرنے کے لیے Docker CLI استعمال کریں۔
  15. کیا مجھے ڈاکر فائل اور ڈوکر کمپوز دونوں میں پورٹ کی وضاحت کرنے کی ضرورت ہے؟
  16. ہاں، دونوں میں بندرگاہ کی وضاحت اس بات کو یقینی بناتی ہے کہ کنٹینر پورٹ میزبان بندرگاہ سے میل کھاتا ہے، جس سے سروس کو Docker کے باہر سے قابل رسائی بنایا جا سکتا ہے۔
  17. سیٹنگ کیوں ہو رہی ہے۔ WORKDIR Docker اہم میں؟
  18. ترتیب WORKDIR تمام کمانڈز کے لیے ایک ڈیفالٹ ڈائریکٹری پاتھ بناتا ہے، فائل پاتھ کو آسان بناتا ہے اور کنٹینر فائلوں کو منظم طریقے سے ترتیب دیتا ہے۔
  19. میں اس غلطی کو ڈیبگ کرنے کے لیے ڈوکر لاگز کو کیسے دیکھ سکتا ہوں؟
  20. استعمال کریں۔ docker logs [container_name] لاگز تک رسائی حاصل کرنے کے لیے، جو کسی بھی سٹارٹ اپ کی غلطیوں یا گمشدہ فائلوں کی بصیرت فراہم کر سکتا ہے۔

Docker میں Node.js اسٹارٹ اپ کی خرابیوں کو ٹھیک کرنا

"گمشدہ شروع اسکرپٹ" کی خرابی کو حل کرنے کے لیے تفصیل پر توجہ دینے کی ضرورت ہے، خاص طور پر ڈوکر کے فائل ڈھانچے اور NPM اسکرپٹس کو ترتیب دینے میں۔ اس بات کو یقینی بنانے کے لیے آپ کی ڈاکر فائل کی جانچ پڑتال کی جا رہی ہے کہ مرتب شدہ فائلوں کی کاپی کی گئی ہے۔ ضلع فولڈر اور یہ کہ package.json میں اسٹارٹ اسکرپٹ کو صحیح طریقے سے بیان کیا گیا ہے تو آپ ڈیبگنگ کے گھنٹوں کو بچا سکتے ہیں۔

واضح سیٹ اپ اور منظم اسکرپٹس کو برقرار رکھنے سے Docker کنٹینرز کو بغیر کسی مسائل کے کام کرنے میں مدد ملے گی، اور Docker Compose میں صحت کی جانچ کا استعمال یقینی بناتا ہے کہ خدمات کو مناسب ترتیب میں لوڈ کیا جائے۔ ان ایڈجسٹمنٹ کے ساتھ، آپ کا بیک اینڈ قابل اعتماد طریقے سے شروع ہونا چاہیے، جس سے آپ کو ایک ہموار ترقیاتی ورک فلو ملنا چاہیے۔ 🛠️

ذرائع اور حوالہ جات
  1. Docker میں Node.js ایپلی کیشنز کے لیے Docker ملٹی اسٹیج کی تعمیرات اور بہترین طریقوں کے بارے میں تفصیلی معلومات: ڈاکر دستاویزات
  2. ڈوکر کمپوز میں صحت کی جانچ پڑتال اور انحصار کے بارے میں جامع گائیڈ تاکہ یہ یقینی بنایا جا سکے کہ خدمات درست ترتیب میں شروع ہوں: ڈاکر کمپوز ہیلتھ چیک
  3. "گمشدہ شروع اسکرپٹ" کی خرابیوں اور NPM کے دیگر عام مسائل کا ازالہ کرنا، بشمول پروڈکشن بلڈز کے لیے package.json کو مناسب طریقے سے ترتیب دینا: NPM دستاویزات
  4. Docker ماحول کے اندر DynamoDB لوکل کو ترتیب دینے اور جانچنے کا تعارف، بشمول Node.js بیک اینڈز کے ساتھ استعمال: AWS DynamoDB لوکل گائیڈ