我正在尝试创建一个相对简单的设置来开发和测试 npm 包。问题在于,在将代码卷安装到容器后,它会替换 node_modules。
我尝试了很多通常符合逻辑的东西,主要是为了将 node_modules 移动到另一个位置,然后在配置文件中引用它。它有效,但解决方案很难看。此外,全局安装 webpack 不是一个好习惯,但我的解决方案需要它。
然而,一段时间后我找到了这个看起来很优雅的解决方案,正是我需要的,但它也有一个问题。我完全不明白,它是如何工作的。
这是我对一切运作方式的看法。
Docker 根据容器路径重新排序卷挂载
Docker 首先挂载子目录卷
Docker 挂载父目录卷,但由于一种无法解释的机制,它不会覆盖子目录卷......
???
利润。node_modules 目录就位,webpack 运行完美。
所以,我真的很想了解它实际上是如何完成所有这些黑魔法的。因为没有这些知识,我觉得我错过了一些重要的东西。
那么,伙计们,它是如何工作的?提前致谢。
services:
react-generic-form:
image: react-generic-form:package
container_name: react-generic-form-package
build:
dockerfile: dev.Dockerfile
context: ./package
volumes:
- "./package:/package"
- "/package/node_modules"
Run Code Online (Sandbox Code Playgroud)