我使用docker-compose
(版本1.24.0
)在容器中运行Node.js应用程序。在开发模式下,我挂载了src
卷,但是我希望容器使用不在主机上创建的node_modules
目录,而只是在容器内部。
我的docker-compose摘录
volumes:
- .:/usr/src/app
command:
- /bin/sh
- -c
- |
npm install
npm run dev
是否有一种方法可以使子目录/usr/src/app/node_modules
在容器本地,并且没有npm install
在主机上创建和填充目录./node_modules
?
我尝试过this solution发布在Stackoverflow上,以某种方式在容器中运行node_modules
后仍会在主机上创建并填充目录npm install .
。我使用了以下修改的docker-compose.yml
:
volumes:
- .:/usr/src/app
- /usr/src/app/node_modules
command:
- /bin/sh
- -c
- |
npm install
npm run dev
我什至尝试使用这样的命名卷:
volumes:
- .:/usr/src/app
- node_modules:/usr/src/app/node_modules
volumes:
- node_modules
我们将不胜感激。