dockerignore文件

總目錄索引:K8s從入門到放棄系列

    該.dockerignore文件是隱藏文件也是一個工具,可以幫助你定義你真正需要的Docker構建上下文。使用此文件,你可以爲這些文件和文件夾規則指定忽略規則和異常,這些規則和異常將不包含在構建上下文中,因此不會打包到存檔中並上載到Docker服務器。

1、dockerignore語法

    該.dockerignore文件類似於gitignore該git工具使用的文件。與.gitignore文件類似,它允許你爲生成構建上下文時Docker客戶端應忽略的文件和文件夾指定模式。雖然.dockerignore用於描述忽略模式的文件語法類似於.gitignore,但它並不相同。

    該.dockerignore模式匹配的語法是基於filepath.Match()和filepath.clean的功能,包括一些補充。如:

Docker還支持一個**匹配任意數量目錄(包括零)的特殊通配符字符串。例如,**/*.go將排除.go 在所有目錄中找到的以該結尾的所有文件,包括構建上下文的根。

2、以下是完整的語法.dockerignore:

pattern:
{term}
術語:
'*'      匹配任何非分隔符字符序列
'?'     匹配任何單個非分隔符
'['['^'] {character-range}']'
字符類(必須是非空的)
c匹配字符c  (c!='*','?','\\','[')
'\\'    c匹配字符c
字符範圍:
c匹配字符c  (c!='\\',' - ',']')
'\\'    c匹配字符c
lo' - 'hi匹配字符c for lo< = c< = hi
補充:
'**'    匹配任意數量的目錄(包括零)
'!'     行開頭! (感嘆號)可用於排除例外情況
以此字符開頭的'#'行將被忽略:將其用於評論

3、示例

#ignore除了README-secret.md以外的所有README*.md和旁邊的所有markdown文件(md)格式的都不要
*.MD
!README*.MD
README-secret.md

#ignore所有文件夾中的所有*.class文件,包括構建根目錄
**/*.class

#ignore .git和.cache文件夾
.git
.cache

# 排除名稱以temp根目錄的任何直接子目錄開頭的文件或者目錄,如/somedir/tempfile.txt,錄/somedir/temp/
*/temp*

# temp從以下兩級以下的任何子目錄開始排除文件和目錄。例如,/somedir/subdir/temporary.txt被排除在外。
*/*/temp*

# 排除根目錄中的文件和目錄,其名稱是單字符擴展名temp。例如,/tempa與/tempb被排除在外
temp?

參考文章:https://www.linuxea.com/2297.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章