嗨,我想使用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:我不想复制项目文件,因为它不是生产或部署方案,并且文件更改时自动刷新不起作用。
不需要Dockerfile中的体积,只需使用-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