我有一个前端构建,它使用Dockerfile的变体进行多个步骤:dev,CI(使用Jenkins(和生产。我不想连续下载 CI 和生产构建映像的node_modules(两者都在同一框中相继发生(。Dev 的node_modules托管在卷上,以降低重新启动开发容器的开销。
这三个阶段都共享同一个.dockerignore
文件,该文件有一行不包括node_modules
。是否可以通过类似 COPY node_modules/* node_modules/
的东西添加node_modules?我徒劳地寻找了一种在 CI 和生产构建的构建部分使用绑定挂载的方法。这似乎是不可能的。
目前没有这样的方法可以提供不同的.dockerignore
文件。
或者,您可以将node_modules
复制到其他目录,例如在主机上使用 cp
./node_new_module
,或者可能将该cp
命令集成到 CI 中。
之后,您可以使用新./node_new_module
复制 Dockerfile 中的节点模块 -
COPY ./node_new_modules/* node_modules/
希望这有帮助或为您提供解决此问题的方法。