1. docker cli将上下文发送到docker守护进程之前,它会在上下文的根目录中查找名为.dockerginore的文件。如果此文件存在,cli将修改上下文以排除与其中模式匹配的文件和目录。这有助于避免不必要地将大型或敏感的文件和目录发送到守护进程,并可能使用addcopy将它们添加到映像中。

匹配符

  • * 匹配单个路径部分里的0个或多个字符
  • ** 匹配在多个路径或这自路径里进行匹配
  • ? 匹配0个或一个字符
  • ! 取反

    案例分析

    以下所说的的根目录是指构建时的作用域目录

  • */temp* 在根目录的任何直接子目录下匹配名字是以temp开始的文件或目录。eg: /somedir/temporary.txt

  • */*/temp* 在根目录的任何直接2级目录下匹配名字是以temp开始的文件或目录。eg: /somedir/subdir/temporary.txt
  • temp? 在根目录下匹配任何以temp开头扩展一个字符的目录和文件。eg: /tempa, /tempb
  1. *.md
  2. !README.md

匹配除了根目录下 README.md以外的所有的markdown文件

  1. *.md
  2. !README*.md
  3. README-secret.md

匹配除了根目录下README-secret.md以外的所有的README文件