如何在不使用docker安装Node js的情况下开发Node JS(create-react-app)

时间:2020-01-10 06:21:24

标签: node.js docker create-react-app

嗨,我想使用docker开发基于create-react-app的项目,而无需在自己的计算机上安装NodeJS。 我有这个Dockerfile.dev文件

FROM node:lts
VOLUME ./:/usr/src/app # mount my react project on container
WORKDIR /usr/src/app
RUN npm install
RUN npm start

但是,当我运行docker build -f .\Dockerfile.dev .时遇到此错误

npm ERR! enoent ENOENT: no such file or directory, open '/usr/src/app/package.json'
npm ERR! enoent This is related to npm not being able to find a file.

我看到,也许VOLUME命令没有成功。如何修复或使其正常工作?也许docker-compose更好?

PS:我不想复制项目文件,因为它不是生产或部署方案,并且文件更改时自动刷新不起作用。

1 个答案:

答案 0 :(得分:1)

不需要Dockerfile中的VOLUME,只需使用-v选项并将您的dockerfile设置为:

FROM node:lts
WORKDIR /usr/src/app
CMD npm install && npm start

构建并启动容器:

docker build -t MYIMAGE . && docker run -tid -v ./app:/usr/src/app MYIMAGE

撰写:

volumes:
       - ./app:/usr/src/app

命令:

docker-compose up -d --build