用.dockerignore排除所有隐藏的文件

我试图从项目的所有目录中的Docker镜像中排除所有隐藏文件(以点开头)。

要排除.git.gitingore.git*

要排除所有的.keep文件: **/.keep工作

对于所有隐藏的文件,我尝试过: **/.* ,但不包括所有包含点的文件,如**/*.*

.dockerignore文件尝试按照Go的filepath.Match规则添加一个像glob匹配path中的任何目录。 所以他们不是完全一样的全局模式,甚至试图成为。 事实上,Docker实现了它自己的parsing器,所以它甚至不使用filepath.Match

使用dir/.*dir/*/.*按预期工作。 但是dir/**/.*似乎并不是一直工作的。

应该解决这个特定的问题,但是我认为在某些情况下我在1.13.1中看到了相同的行为。

因此,对于dir/**/.* ,文件dir/file.ext将被排除,但将包括dir/subdir/file.ext

如果你在1.13上有一个特定的可重复的情况,这可能是值得开启Docker的一个新的问题

这个问题已经解决了,但是提交还没有被合并到已发布的分支中。