在docker CLI将上下文发送到docker守护程序之前,它会在上下文的根目录中查找名为.dockerignore的文件。如果此文件存在,则CLI会修改上下文以排除与其中的模式匹配的文件和目录。这有助于避免不必要地将大型文件或敏感文件和目录发送到守护程序,并避免使用ADD或将它们添加到映像中COPY。
CLI将.dockerignore文件解释为以换行符分隔的模式列表,类似于Unix Shell的文件组。为了匹配,上下文的根被认为是工作目录和根目录。例如,路径 /foo/bar和foo/bar两个排除命名的文件或目录bar 的foo子目录PATH或位于Git仓库的根URL。两者都不排除其他任何东西。
如果.dockerignore文件中的一行以第#1列开头,则该行将被视为注释,并且在CLI解释之前将被忽略。
这是一个示例.dockerignore文件:
# comment
*/temp*
*/*/temp*
temp?
此文件导致以下生成行为:
使用Go的filepath.Match规则进行匹配 。预处理步骤使用Go的filepath.Clean除去开头和结尾的空格,并消除.和..元素 。预处理后空白的行将被忽略。
除了Go的filepath.Match规则外,Docker还支持一个特殊的通配符字符串**,该字符串匹配任意数量的目录(包括零个)。例如,**/*.go将排除.go 在所有目录(包括构建上下文的根目录)中找到的所有以结尾结尾的文件。
以!(感叹号)开头的行可用于排除例外。以下是.dockerignore使用此机制的示例文件:
*.md
!README.md
除 README.md上下文之外,所有.md文件都排除在外。
(免责声明:本网站内容主要来自原创、合作媒体供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。 )
相关阅读
- 超级精灵再进化 smart发布EHD超级电混技术:每一程,比增程更成
- 锚定“好房子”战略 TATA木门818静音日让宜居愿景照进万家
- 聚焦“好房子”新政 首届美好人居生活论坛在上海成功举办
- 聚焦“好房子”建设实践 2025美好人居生活论坛沈阳启幕
- TATA木门818静音日 解码千万家庭的新静界 重塑美好人居基石
- 解码“静音+”理念 TATA木门以场景革命重构美好人居新生态
- 8.18万元起售,吉利银河A7正式上市!“五大颠覆”重新定义电混家轿新标准
- AI创新中心从“空间集聚”到“生态共生”
- 新政下的“好房子”实践:TATA木门以智造力承接居住品质升级需求
- 不止于论坛:2025美好人居国际论坛成果落地,TATA木门百家焕新计划开启普惠新航程