.dockerignore提到的文件不会被忽略

我在Dockerfile

 ENV DATARATOR_HOME /usr/local/share/datarator RUN mkdir -p $DATARATOR_HOME COPY . $DATARATOR_HOME 

.dockerignore文件:

 /Gemfile.lock /coverage /spec *.bundle *.so *.o *.a mkmf.log *.swp /.* /tmp /log 

但是,一旦在构build的容器中显示文件,我也可以看到那些应该被忽略的文件:

 /usr/local/share/datarator # ls -lha total 128 drwxr-xr-x 10 root root 4.0K Mar 29 21:01 . drwxr-xr-x 4 root root 4.0K Mar 29 21:00 .. drwxr-xr-x 2 root root 4.0K Mar 29 21:01 .bundle -rw-rw-r-- 1 root root 24 Mar 29 20:37 .coveralls.yml -rw-rw-r-- 1 root root 81 Mar 29 20:37 .dockerignore drwxrwxr-x 8 root root 4.0K Mar 29 20:37 .git -rw-rw-r-- 1 root root 85 Mar 29 20:37 .gitignore -rw-rw-r-- 1 root root 1.2K Mar 29 20:37 .travis.yml -rw-rw-r-- 1 root root 509 Mar 29 20:37 .vimrc -rw-rw-r-- 1 root root 959 Mar 29 20:37 Dockerfile -rw-rw-r-- 1 root root 94 Mar 29 20:37 Gemfile -rw-r--r-- 1 root root 2.7K Mar 29 21:01 Gemfile.lock -rw-rw-r-- 1 root root 343 Mar 29 20:37 Guardfile -rw-rw-r-- 1 root root 1.0K Mar 29 20:37 LICENSE.txt -rw-rw-r-- 1 root root 71 Mar 29 20:37 Procfile -rw-rw-r-- 1 root root 14.8K Mar 29 20:37 README.md -rw-rw-r-- 1 root root 198 Mar 29 20:37 Rakefile drwxrwxr-x 2 root root 4.0K Mar 29 20:37 bin drwxrwxr-x 2 root root 4.0K Mar 29 20:37 config -rw-rw-r-- 1 root root 97 Mar 29 20:37 config.ru -rw-r--r-- 1 root root 16.0K Mar 29 21:01 datarator-0.0.1.gem -rw-rw-r-- 1 root root 1.7K Mar 29 20:37 datarator.gemspec drwxrwxr-x 4 root root 4.0K Mar 29 20:37 lib drwxrwxr-x 2 root root 4.0K Mar 29 20:37 log drwxrwxr-x 3 root root 4.0K Mar 29 20:37 spec drwxrwxr-x 2 root root 4.0K Mar 29 20:37 tmp 

我怎样才能实现在.dockerignore文件中提到的所有这些被忽略?

.dockerignore规则遵循filepath/#Match

尝试(用于testing) Gemfile.lock而不是/Gemfile.lock

检查eol(行尾)字符是否是unix风格,而不是.dockerignore文件中的Windows风格。

显然,使用/ like /xxx (或/.* )开始的规则(docker 1.10,2016年3月) 没有得到很好的支持 。