Vscode-docker: マルチステージDockerファイルのサポートを追加

作成日 2017年04月28日  ·  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. FROMディレクティブのAS foo句について文句を言わないように、リンタールールを更新します。 現在、これについて偽陰性を示していますが、これは理想的ではありません

全てのコメント7件

いいですね! また、次のことも行う必要があります。

  1. ボックス内のDocker構文ファイルを更新して、新しいASキーワードと--fromフラグを適切に色付けします。 これは低価格ですが、多段階ビルドがかなり一般的になる可能性があるため、実行するとよいでしょう。

  2. FROMディレクティブのAS foo句について文句を言わないように、リンタールールを更新します。 現在、これについて偽陰性を示していますが、これは理想的ではありません

次の機能強化も検討する必要があります。

  1. FROMディレクティブでAS句を使用するときに、画像名を正しく解析するようにホバープロバイダーを更新します。 現在、FROM / ASを使用するとホバー動作が壊れます

  2. COPYディレクティブとFROMディレクティブに「--from =」と入力すると、ベースイメージ名の補完リストが表示され、Dockerfile補完プロバイダーが更新されます。

あなたがそれにいる間。 DockerfileにCMD命令が1つしかないという警告(緑色の波線)が間違っています。

こんにちは、@ seank-com。 あなたが説明しているバグはrcjsuen / dockerfile-utils#22だと思います。 回避策については、 https: //github.com/rcjsuen/dockerfile-utils/issues/22#issuecomment-366485869を参照してください。 このバグは、#249がマージされたため、拡張機能の次のリリースで修正されるはずです。

その他の奇妙なまたは誤った検証エラーを見つけた場合は、遠慮なくお知らせください。 ありがとう!

現在のNode.jsテンプレート:

FROMノード:10.13-アルパイン
ENVNODE_ENVプロダクション
WORKDIR / usr / src / app
COPY ["package.json"、 "package-lock.json "、 "npm-shrinkwrap.json "、 "./"]
npm install --production --silent && mv node_modules ../を実行します
コピー 。 。
EXPOSE 3000
CMD npm start

@ lostintangent@ chrisdiasより良い練習のためにこれを改善する必要がありますか?

@lostintangent @chrisdiasあなたの考えは?

この問題は、より多くの情報が必要であり、最近の活動がないため、自動的にクローズされました。 問題報告のガイドラインも参照してください。

ハッピーコーディング!

このページは役に立ちましたか?
0 / 5 - 0 評価