Vscode-docker: adicionar suporte para arquivos docker de vários estágios

Criado em 28 abr. 2017  ·  7Comentários  ·  Fonte: microsoft/vscode-docker

provavelmente só precisa atualizar o modelo padrão do dockerfile.

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

//cc: @lostintangent

ideia tosca...

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

Comentários muito úteis

Parece bom! Devemos também fazer o seguinte:

  1. Atualize o arquivo de sintaxe do Docker na caixa para colorir corretamente a nova palavra-chave $# AS --from . Este é um pri mais baixo, mas seria bom fazer, já que as compilações de vários estágios provavelmente se tornarão bastante comuns

  2. Atualize as regras do linter para não reclamar da cláusula AS foo FROM da diretiva FROM. Atualmente, damos falsos negativos sobre isso, o que não é o ideal

Todos 7 comentários

Parece bom! Devemos também fazer o seguinte:

  1. Atualize o arquivo de sintaxe do Docker na caixa para colorir corretamente a nova palavra-chave $# AS --from . Este é um pri mais baixo, mas seria bom fazer, já que as compilações de vários estágios provavelmente se tornarão bastante comuns

  2. Atualize as regras do linter para não reclamar da cláusula AS foo FROM da diretiva FROM. Atualmente, damos falsos negativos sobre isso, o que não é o ideal

Devemos também considerar as seguintes melhorias:

  1. Atualize o provedor hover para analisar o nome da imagem corretamente ao usar uma cláusula AS na diretiva FROM. No momento, o comportamento de foco está quebrado ao usar FROM/AS

  2. Atualize o provedor de conclusão do Dockerfile exibindo uma lista de conclusão de nomes de imagem base ao digitar "--from=" na diretiva COPY e na diretiva FROM

Enquanto você está nisso. O aviso (rabisco verde) que só pode haver uma instrução CMD em um Dockerfile agora está errado.

Olá, @seank-com. Acredito que o bug que você está descrevendo seja rcjsuen/dockerfile-utils#22. Consulte https://github.com/rcjsuen/dockerfile-utils/issues/22#issuecomment -366485869 para obter uma solução alternativa. Esse bug deve ser corrigido com a próxima versão da extensão, pois o #249 foi mesclado.

Se você identificar outros erros de validação estranhos ou incorretos, não hesite em me informar. Obrigado!

Modelo atual do Node.js:

FROM node:10.13-alpine
Produção ENV NODE_ENV
WORKDIR /usr/src/app
COPY ["package.json", "package-lock.json ", "npm-shrinkwrap.json ", "./"]
RUN npm install --production --silent && mv node_modules ../
CÓPIA DE . .
EXPO 3000
início do CMD npm

@lostintangent , @chrisdias Precisamos melhorar isso para uma melhor prática?

@lostintangent @chrisdias o que você achou?

Este problema foi encerrado automaticamente porque precisa de mais informações e não teve atividade recente. Consulte também nossas diretrizes de relatórios de problemas .

Boa Codificação!

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

dschuessler picture dschuessler  ·  5Comentários

oberfoerster picture oberfoerster  ·  6Comentários

SQLvariant picture SQLvariant  ·  3Comentários

bradygmsft picture bradygmsft  ·  7Comentários

tecandrew picture tecandrew  ·  6Comentários