next.jsをdockerのコンテナに建てたいです。
環境はwindows10、vagrantのubuntu上で実行しています。
以下の構成でdocker-compose upを実行した後に
docker-compose run --rm web npm run dev
npm ERR! path /app/package.json npm ERR! code ENOENT npm ERR! errno -2 npm ERR! syscall open npm ERR! enoent ENOENT: no such file or directory, open '/app/package.json' npm ERR! enoent This is related to npm not being able to find a file. npm ERR! enoent npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2018-10-28T04_13_02_143Z-debug.log
というエラーが出てしまいます。こちら原因分かる方いらっしゃいますでしょうか?
Dockerfile
1FROM node:10.12.0-alpine 2WORKDIR /app 3ADD ./package.json /app 4RUN npm install --save next react react-dom
package.json
{ "name": "app", "version": "1.0.0", "description": "", "main": "index.js", "dependencies": { "next": "^7.0.2", "react": "^16.6.0", "react-dom": "^16.6.0" }, "devDependencies": {}, "scripts": { "dev": "next", "build": "next build", "start": "next start", "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC" }
docker-compose.yml
version: '3' services: web: build: ./docker/node container_name: next_dev volumes: - ./:/app ports: - "3000:3000"
追記
ドキュメントを読んだところCOPYが推奨されていたので変更しました。DockerfileADDからCOPYへ変更しました。確認したところ、そもそもコピーされていませんでした。なぜでしょうか?
フォルダの構造は
|
|-docker
| |-node
| |-Dockerfile
| |-pacage.json
|-docker-compose.yml
となっています
あなたの回答
tips
プレビュー