Vscode-docker: إضافة دعم لملفات عامل ميناء متعدد المراحل

تم إنشاؤها على ٢٨ أبريل ٢٠١٧  ·  7تعليقات  ·  مصدر: microsoft/vscode-docker

ربما تحتاج فقط إلى تحديث نموذج ملف dockerfile الافتراضي.

https://codefresh.io/blog/node_docker_multistage/

// cc: lostintangent

فكرة تقريبية...

FROM node:latest AS base
WORKDIR /usr/src/app
COPY package.json .

FROM base AS dependencies
RUN npm set progress=false && npm config set depth 0
RUN npm install --only=production
RUN cp -R node_modules prod_node_modules
RUN npm install

FROM dependencies AS build
COPY . .
RUN ./node_modules/.bin/gulp
RUN cp -R client prod_client

FROM base AS release
COPY --from=dependencies /usr/src/app/prod_node_modules ./node_modules
COPY --from=build /usr/src/app/prod_client ./client
COPY . .
EXPOSE 3000
CMD npm run start
enhancement needs more info

التعليق الأكثر فائدة

يبدو ذلك جيدا! يجب علينا أيضًا القيام بما يلي:

  1. قم بتحديث ملف بناء جملة Docker في الصندوق لتلوين الكلمة الرئيسية الجديدة AS و --from بشكل صحيح. هذا هو السعر الأدنى ، ولكن سيكون من الجيد القيام به ، حيث من المحتمل أن تصبح الإنشاءات متعددة المراحل شائعة جدًا

  2. قم بتحديث قواعد linter حتى لا تشتكي من عبارة AS foo FROM للتوجيه $ # $ 3 $ # $. حاليًا ، نعطي السلبيات الخاطئة حول هذا الأمر ، وهذا ليس مثاليًا

ال 7 كومينتر

يبدو ذلك جيدا! يجب علينا أيضًا القيام بما يلي:

  1. قم بتحديث ملف بناء جملة Docker في الصندوق لتلوين الكلمة الرئيسية الجديدة AS و --from بشكل صحيح. هذا هو السعر الأدنى ، ولكن سيكون من الجيد القيام به ، حيث من المحتمل أن تصبح الإنشاءات متعددة المراحل شائعة جدًا

  2. قم بتحديث قواعد linter حتى لا تشتكي من عبارة AS foo FROM للتوجيه $ # $ 3 $ # $. حاليًا ، نعطي السلبيات الخاطئة حول هذا الأمر ، وهذا ليس مثاليًا

يجب أن ننظر أيضًا في التحسينات التالية:

  1. قم بتحديث موفر التمرير لتحليل اسم الصورة بشكل صحيح عند استخدام عبارة AS في التوجيه FROM. في الوقت الحالي ، تم تعطيل سلوك التمرير عند استخدام FROM / AS

  2. قم بتحديث موفر إكمال Dockerfile عن طريق عرض قائمة اكتمال لأسماء الصور الأساسية عند كتابة "--from =" في توجيه COPY والتوجيه FROM

بينما أنت فيه. التحذير (التمايل الأخضر) يمكن أن يكون هناك تعليمات CMD واحدة فقط في Dockerfile خاطئة الآن.

مرحبًا @ seank-com. أعتقد أن الخطأ الذي تصفه هو rcjsuen / dockerfile-utils # 22. يرجى مراجعة https://github.com/rcjsuen/dockerfile-utils/issues/22#issuecomment -366485869 للحصول على حل بديل. نأمل أن يتم إصلاح هذا الخطأ مع الإصدار التالي من الامتداد حيث تم دمج رقم 249 في.

إذا اكتشفت أي أخطاء أخرى غريبة أو غير صحيحة في التحقق من الصحة ، فيرجى عدم التردد في إبلاغي بذلك. شكرا!

نموذج Node.js الحالي:

من العقدة: 10.13-alpine
إنتاج ENV NODE_ENV
WORKDIR / usr / src / التطبيق
نسخ ["package.json"، "package-lock.json "، "npm-shrinkwrap.json "، "./"]
RUN npm install - product --silent && mv node_modules ../
ينسخ . .
اكشف 3000
بدء CMD npm

lostintangent ، chrisdias هل نحتاج إلى تحسين هذا لممارسة أفضل؟

lostintangentchrisdias أفكارك ؟

تم إغلاق هذه المشكلة تلقائيًا لأنها تحتاج إلى مزيد من المعلومات ولم يكن لها نشاط حديث. راجع أيضًا إرشادات الإبلاغ عن المشكلات.

ترميز سعيد!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات