Node.js 跳过docker容器内的装载节点\ U模块文件夹

Node.js 跳过docker容器内的装载节点\ U模块文件夹,node.js,docker,dockerfile,node-modules,docker-volume,Node.js,Docker,Dockerfile,Node Modules,Docker Volume,我有一个在docker内部运行的NodeJS应用程序 在Dockerfile中,我创建应用程序并将本地代码移动到其中 # Dockerfile FROM node:8.6.0 WORKDIR /app # Copying app COPY . /app # Executing test script RUN scripts/pre-build.sh 我的目录结构如下 剧本 节点单元 src 执行 独立模块 用于某个任务的共享模块 我在src中有一个独立的模块文件夹,通过np

我有一个在docker内部运行的NodeJS应用程序

在Dockerfile中,我创建应用程序并将本地代码移动到其中

# Dockerfile

FROM node:8.6.0

WORKDIR /app

# Copying app
COPY . /app

# Executing test script
RUN scripts/pre-build.sh
我的目录结构如下

  • 剧本
  • 节点单元
  • src
    • 执行
    • 独立模块
      • 用于某个任务的共享模块
我在src中有一个独立的模块文件夹,通过
npm link
链接到
node\u modules
文件夹。当我为包运行
npm link
时,会为包创建一个本地
node\u modules
(为某个任务创建共享的\u module)

在运行映像时,我将src中的本地更改装载到容器内的src中。这将覆盖为包在本地创建的
node\u modules
文件夹,因为本地没有node\u模块(它是在执行
npm link
时在docker build上创建的)

我已尝试在此
共享模块下为某个任务创建一个空节点模块文件夹,但无效

该文件夹将被覆盖或更改为空白,因为它在本地。 当我运行映像而不挂载目录时,这种方法效果很好

有没有办法做到这一点。请建议

将其添加到中。dockerignore也不起作用

我不想使用docker-compose.yml文件和卷来隐藏节点模块的装载。