有没有办法否定.dockerignore中的模式?

Flo*_*vre 17 docker

我试图否定.dockerignore中的模式.Globbing是使用Go的filepath.Match规则完成的.检查源后,似乎我们可以通过使用^字符来否定模式.

.dockerfile

*
^Dockerfile
^web-app/dist
Run Code Online (Sandbox Code Playgroud)

但是,当我建立docker时,我有以下错误:

Dockerfile was excluded by .dockerignore pattern '*'
Run Code Online (Sandbox Code Playgroud)

你知道它是否有可能实现我的目标?

谢谢

Lew*_*wis 21

从版本1.7.0开始,现在可以实现.

否定!现在按照您的预期工作,并记录在官方Dockerfile参考中.

以下是从上面的链接中获取的示例:

*/temp*
*/*/temp*
temp?
*.md
!LICENSE.md
Run Code Online (Sandbox Code Playgroud)

!LICENSE.md尽管有*.md规则,该行将导致LICENSE.md包含在Docker构建上下文中.