Node.js 使用;npm安装“;用于Docker中的开发环境
我试图在Docker中开发一个ReactJS项目,该项目将在整个团队中共享 然而,我很难理解这是如何工作的,因为我想将我的Node.js 使用;npm安装“;用于Docker中的开发环境,node.js,reactjs,docker,Node.js,Reactjs,Docker,我试图在Docker中开发一个ReactJS项目,该项目将在整个团队中共享 然而,我很难理解这是如何工作的,因为我想将我的应用程序目录批量共享到容器中,但似乎我必须将package.json复制到容器中,以便npm安装,然后运行nom run start 我的目录结构是: app/ src/ public/ node_modules/ package.json docker/ admin/ dockerfile docker-compose.yml dockerf
应用程序
目录批量共享到容器中,但似乎我必须将package.json
复制到容器中,以便npm安装
,然后运行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
docker-compose.yml
version: '3'
services:
admin:
build:
context: ./docker/admin
dockerfile: dockerfile
image: project/admin
volumes:
- ./app:/app
ports:
- "3000:3000"
所以问题是:当dockerfile运行时,npm安装
失败,因为来自docker compose的卷共享还没有发生,所以它认为没有package.json
。因此,听起来我必须将package.json
复制到容器中,就进行更改而言,这对于开发来说并不理想
此外,我相信您只能将
文件从dockerfile所在的同一目录复制到容器中,这意味着我必须将dockerfile移动到项目的根目录中。我不喜欢这个想法,因为我在这个项目中还有其他容器,它们也需要DockerFile
在Docker内部处理节点开发是否有更好的解决方案?本质上,我希望团队中的其他开发人员能够尽可能地简化“启动并运行”过程 在开发过程中,您需要:
- 重建前端
- 重新启动Node.js应用程序
- 重新运行您的测试
- 调试代码
- 等
- 设置具有外部依赖关系的开发人员/CI/QA环境,如MongoDB、Redis等。
是目前最好的解决方案docker compose
- 制作可交付工件
+Dockerfile
将描述如何制作您的工件。DockerRignore