忽略子文件夹无效
我正在使用一个.dockerignore
文件,如下所示:
* */node_modules */bower_components !www !app !inc
所以这里我要说的是:除了www
, app
和inc
,忽略当前目录中的所有文件(这篇文章涉及到: 如何在build中包含本地库 ), 并且忽略所有在这些子目录中名为node_modules
和bower_components
的目录
当我运行一个构build:
build --no-cache -t test -f app/Dockerfile .
(这里是我的Dockerfile):
FROM node:latest RUN mkdir -p /usr/src/app WORKDIR /usr/src/app ADD . /usr/src/app/
然后运行一个容器:
run -i --entrypoint=/bin/bash test
如果我在目录中看我看到node_modules文件夹!
# ls -alF total 20 drwxr-xr-x 5 root root 4096 Mar 19 03:39 ./ drwxr-xr-x 4 root root 4096 Mar 19 03:39 ../ drwxr-xr-x 4 root root 4096 Mar 18 03:26 inc/ drwxr-xr-x 3 root root 4096 Mar 19 00:57 app/ drwxr-xr-x 12 root root 4096 Mar 18 08:55 www/ # ls -alF app total 36 drwxr-xr-x 3 root root 4096 Mar 19 00:57 ./ drwxr-xr-x 5 root root 4096 Mar 19 03:39 ../ -rw-r--r-- 1 root root 38 Mar 19 00:57 .dockerignore -rw-r--r-- 1 root root 359 Mar 19 03:37 Dockerfile -rw-r--r-- 1 root root 700 Mar 18 04:50 config.json -rw-r--r-- 1 root root 3786 Mar 18 03:43 index.js drwxr-xr-x 119 root root 4096 Mar 17 18:57 node_modules/ -rw-r--r-- 1 root root 2910 Mar 17 20:51 npm-debug.log -rw-r--r-- 1 root root 348 Mar 19 03:24 package.json
所以.dockerignore
的第一行工作正常,第.dockerignore
行也是如此,但子目录失败了。 为了完整起见,我最初使用**/node_modules
但也失败了。
expression这个的正确方法是什么?
好吧,显然问题是,当我创build例外的忽略规则,我不得不重新申请例外,所以如果我这样做,而不是:
* !www !app !inc */node_modules */bower_components
它的工作原理是因为*/node_modules
适用于“以上所有”,其中包括app
。 在我原来的声明中,我排除了我希望从规则中包含的目录
- MariaDB服务器在Docker容器内运行的node.js服务器的查询超时
- 如何在Docker群组中使用docker-compose .yml时传递POSTGRES_USER envvariables
- 在docker集装箱不捕获的karma phantomjs
- 问题与Dockerregistry有ngnixauthentication
- Dockerfile,如何创build图像的Ubuntu 14.04
- 从docker文件build立docker图像
- Docker和前端应用程序的例子
- 获取“无效的地址”错误上gunicorn绑定与我的服务器IP。 我在docker里试着这个
- 使用Docker时定制Guacamolelogin屏幕