Vscode-docker: Unterstützung für mehrstufige Docker-Dateien hinzufügen

Erstellt am 28. Apr. 2017  ·  7Kommentare  ·  Quelle: microsoft/vscode-docker

Wahrscheinlich müssen Sie nur die Standard-Dockerfile-Vorlage aktualisieren.

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

//cc: @lostintangent

grobe idee...

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

Hilfreichster Kommentar

Hört sich gut an! Wir sollten auch Folgendes tun:

  1. Aktualisieren Sie die integrierte Docker -Syntaxdatei, um das neue Schlüsselwort AS und das Flag --from richtig einzufärben. Dies ist ein niedrigerer Preis, wäre aber nett, da mehrstufige Builds wahrscheinlich ziemlich häufig werden

  2. Aktualisieren Sie die Linter-Regeln, um sich nicht über die AS foo -Klausel der FROM -Direktive zu beschweren. Derzeit geben wir diesbezüglich falsche Negativmeldungen ab, was nicht ideal ist

Alle 7 Kommentare

Hört sich gut an! Wir sollten auch Folgendes tun:

  1. Aktualisieren Sie die integrierte Docker -Syntaxdatei, um das neue Schlüsselwort AS und das Flag --from richtig einzufärben. Dies ist ein niedrigerer Preis, wäre aber nett, da mehrstufige Builds wahrscheinlich ziemlich häufig werden

  2. Aktualisieren Sie die Linter-Regeln, um sich nicht über die AS foo -Klausel der FROM -Direktive zu beschweren. Derzeit geben wir diesbezüglich falsche Negativmeldungen ab, was nicht ideal ist

Wir sollten auch die folgenden Verbesserungen in Betracht ziehen:

  1. Aktualisieren Sie den Hover-Anbieter, um den Bildnamen korrekt zu analysieren, wenn Sie eine AS-Klausel in der FROM-Direktive verwenden. Im Moment ist das Hover-Verhalten bei der Verwendung von FROM/AS fehlerhaft

  2. Aktualisieren Sie den Dockerfile-Vervollständigungsanbieter, indem Sie eine Vervollständigungsliste der Basis-Image-Namen anzeigen, wenn Sie „--from=“ in die COPY-Direktive und die FROM-Direktive eingeben

Wenn Sie schon dabei sind. Die Warnung (grüner Squiggle), dass es nur eine CMD-Anweisung in einem Dockerfile geben kann, ist jetzt falsch.

Hallo, @seank-com. Ich glaube, der Fehler, den Sie beschreiben, ist rcjsuen/dockerfile-utils#22. Eine Problemumgehung finden Sie unter https://github.com/rcjsuen/dockerfile-utils/issues/22#issuecomment -366485869. Dieser Fehler sollte hoffentlich mit der nächsten Version der Erweiterung behoben werden, da #249 eingefügt wurde.

Sollten Sie weitere seltsame oder falsche Validierungsfehler entdecken, zögern Sie bitte nicht, mir dies mitzuteilen. Danke!

Aktuelle Node.js-Vorlage:

VON Knoten: 10.13-alpin
ENV NODE_ENV-Produktion
ARBEITSVERZ /usr/src/app
COPY ["package.json", "package-lock.json ", "npm-shrinkwrap.json ", "./"]
RUN npm install --production --silent && mv node_modules ../
KOPIEREN . .
AUSSETZEN 3000
CMD npm starten

@lostintangent , @chrisdias Müssen wir das für eine bessere Praxis verbessern?

@lostintangent @chrisdias deine Gedanken?

Dieses Problem wurde automatisch geschlossen, da es weitere Informationen benötigt und in letzter Zeit nicht aktiv war. Siehe auch unsere Richtlinien zum Melden von Problemen.

Viel Spaß beim Codieren!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen