跳过在docker容器

时间:2017-10-31 12:39:39

标签: node.js docker dockerfile node-modules docker-volume

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

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

# 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中有一个独立的模块文件夹,它通过node_modules链接到npm link文件夹。当我为包运行npm link时,为包创建了本地node_modules(shared_module_for_some_task)。

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

我尝试在此shared_module_for_some_task下创建一个空的node_modules文件夹,但它不起作用。

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

有没有办法实现这一目标。请建议。

在.dockerignore中添加它也不起作用

我不想使用带有卷的docker-compose.yml文件来隐藏node_modules的挂载。

0 个答案:

没有答案