Vscode-docker: ajouter la prise en charge des fichiers docker multi-étapes

Créé le 28 avr. 2017  ·  7Commentaires  ·  Source: microsoft/vscode-docker

probablement juste besoin de mettre à jour le modèle de dockerfile par défaut.

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

//cc: @losttangent

idée approximative...

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

Commentaire le plus utile

Ça a l'air bien! Nous devrions également faire ce qui suit :

  1. Mettez à jour le fichier de syntaxe Docker intégré pour coloriser correctement le nouveau mot-clé $# AS --from . C'est moins cher, mais ce serait bien, car les constructions en plusieurs étapes deviendront probablement assez courantes

  2. Mettez à jour les règles de linter pour ne pas vous plaindre de la clause AS foo FROM . Actuellement, nous donnons des faux négatifs à ce sujet, ce qui n'est pas idéal

Tous les 7 commentaires

Ça a l'air bien! Nous devrions également faire ce qui suit :

  1. Mettez à jour le fichier de syntaxe Docker intégré pour coloriser correctement le nouveau mot-clé $# AS --from . C'est moins cher, mais ce serait bien, car les constructions en plusieurs étapes deviendront probablement assez courantes

  2. Mettez à jour les règles de linter pour ne pas vous plaindre de la clause AS foo FROM . Actuellement, nous donnons des faux négatifs à ce sujet, ce qui n'est pas idéal

Nous devrions également envisager les améliorations suivantes :

  1. Mettez à jour le fournisseur de survol pour analyser correctement le nom de l'image lors de l'utilisation d'une clause AS dans la directive FROM. À l'heure actuelle, le comportement de survol est interrompu lors de l'utilisation de FROM/AS

  2. Mettez à jour le fournisseur de complétion Dockerfile en affichant une liste de complétion des noms d'images de base lorsque vous tapez "--from=" dans la directive COPY et la directive FROM

Pendant que vous y êtes. L'avertissement (gribouillis vert) qu'il ne peut y avoir qu'une seule instruction CMD dans un Dockerfile est maintenant erroné.

Salut, @seank-com. Je crois que le bogue que vous décrivez est rcjsuen/dockerfile-utils#22. Veuillez consulter https://github.com/rcjsuen/dockerfile-utils/issues/22#issuecomment -366485869 pour une solution de contournement. Ce bogue devrait, espérons-le, être corrigé avec la prochaine version de l'extension, car # 249 a été fusionné.

Si vous repérez d'autres erreurs de validation étranges ou incorrectes, n'hésitez pas à me le faire savoir. Merci!

Modèle Node.js actuel :

DE nœud : 10.13-alpine
Production ENV NODE_ENV
WORKDIR /usr/src/app
COPIER ["paquet.json", "paquet-lock.json ", "npm-shrinkwrap.json ", "./"]
RUN npm install --production --silent && mv node_modules ../
COPIE . .
EXPOSER 3000
CMD démarrage npm

@lostintangent , @chrisdias Avons-nous besoin d'améliorer cela pour une meilleure pratique ?

@lostintangent @chrisdias vos pensées?

Ce problème a été fermé automatiquement car il nécessite plus d'informations et n'a pas eu d'activité récente. Consultez également nos consignes de signalement des problèmes .

Bon codage !

Cette page vous a été utile?
0 / 5 - 0 notes