在docker CLI将上下文发送给docker守护进程之前,它会查找一个名为.dockerignore
的文件。 如果此文件存在,CLI 将修改上下文以排除与其中的模式匹配的文件和目录。 这有助于避免不必要地向守护进程发送大型或敏感的文件和目录,并可能使用ADD
或COPY
将它们添加到映像中。
在.dockerignore文件中,以#
开头的一行被视为注释。
下面是一个例子:
# comment
*/temp*
*/*/temp*
temp?
这个文件会导致如下的构建行为:
Rule | Behavior |
---|---|
*/temp* | 排除在根目录的任何直接子目录下以temp开头的文件和目录。例如/somedir/temporary.txt |
*/*/temp* | 排除在根目录下两级子目录下以temp开头的文件和目录。例如/somedir/subdir/temporary.txt |
temp? | 排除根目录内名称为temp+一个自字符的文件或目录。例如/tempa |