使用撰写v3.
在构建中我复制package.json并运行npm install into
/var/www/project/node_modules
在撰写时我添加了卷
- ./www:/var/www/project/www
众所周知,绑定到/ www的主机将有效地“覆盖”我在构建阶段安装的node_modules.
这就是我们之后添加命名模块的原因
- ./www:/var/www/project/www - modules:/var/www/project/www/node_modules
我们第一次构建/运行项目时,这工作正常,花花公子
由于命名卷“模块”不存在,因此将安装构建阶段的www / node_modules.
但是,这是实际问题.
下次我对package.json进行更改并执行:
docker-compose up --build
我可以看到新的npm模块是如何安装的,但是一旦附加了命名的“模块”卷(它现在存在于上一次运行中的东西),它“覆盖”图像中新安装的模块.
上面提到的添加命名卷的方法是在很多地方建议的,作为节点模块问题的补救措施.但据我从大量测试中看到,这只能工作一次.
如果我每次对package.json进行更改时都要重命名命名卷,那当然可以工作.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。