跳过在docker容器内挂载node_modules文件夹

我有一个在Docker中运行的节点js应用程序。

在Dockerfile中,我创build了应用程序并将我的本地代码移入其中。

# Dockerfile FROM node:8.6.0 WORKDIR /app # Copying app COPY . /app # Executing test script RUN scripts/pre-build.sh 

我的目录结构是。

  • 脚本
  • node_modules
  • SRC
    • 执行
    • independent_module
      • shared_module_for_some_task

我有一个独立的模块文件夹内的src通过npm link链接到node_modules文件夹。 当我为一个包运行npm link ,为包创build一个本地node_modules (shared_module_for_some_task)。

在运行映像时,我将src中的本地更改安装到容器中的src中。 这会覆盖在本地为包创build的node_modules文件夹,因为本地没有node_modules(在执行npm link时在docker build上创build)。

我已经尝试在这个shared_module_for_some_task下创build一个空的node_modules文件夹,但它没有工作。

该文件夹被覆盖或更改为空白,因为它在本地。 当我在没有安装目录的情况下运行镜像时,这个效果很好。

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

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

我不想在卷上使用docker-compose.yml文件来隐藏node_modules的装载。