私はDockerでの開発目的でReactJSプロジェクトを作成しようとしています。このプロジェクトはチーム全体で共有されます。Docker - 開発環境用のnpmインストール
しかし、私はこれを容器に私はボリュームの共有にしたいので、私のapp
ディレクトリをどのように機能するかを理解するトラブルを抱えているが、私がnpm install
に容器にpackage.json
をコピーし、それゆえnom run start
私を実行する必要がありそうですディレクトリ構造は次のとおりです。
app/
src/
public/
node_modules/
package.json
docker/
admin/
dockerfile
docker-compose.yml
dockerfile
FROM node:7.8.0
WORKDIR /app
RUN npm install
EXPOSE 3000
CMD npm run start
ドッキングウィンドウ-compose.yml
version: '3'
services:
admin:
build:
context: ./docker/admin
dockerfile: dockerfile
image: project/admin
volumes:
- ./app:/app
ports:
- "3000:3000"
だから、問題がある:docker-compose
からボリュームの共有がまだ起きていないので、npm install
が失敗し、dockerfileが実行されるとき、それは何のpackage.json
はありません考えています。だから私はコンテナにpackage.json
をコピーしなければならないように思えますが、それは変更を行う限り開発には理想的ではありません。
さらに、ドッカーファイルと同じディレクトリの中のCOPY
ファイルのみをコンテナに入れることができると思うので、ドッカーファイルをプロジェクトのルートに移動する必要があります。私はこのアイデアが大好きではありません。なぜなら、このプロジェクトには他のコンテナもあるでしょうし、ドッキングファイルも必要になるからです。
ノード開発をDockerから処理するための優れたソリューションはありますか?基本的に、私は、チームの他の開発者にとって可能な限りシンプルな「起動して実行する」プロセスを作りたいと考えています。開発中に
私はこれが好ましい方法ではないことを認識していませんでした。これはNodeまたはDockerコミュニティの他のどこに文書化されていますか? – djt
私は会議/会合ビデオで数回見ましたが、私はこれに関する文書を覚えていません。それは単なる常識であり、ドキュメンテーションの一部ではありません。 – galkin