2

我正在使用 maven docker 映像构建 maven 项目。Maven 项目非常大,源代码超过 300mb。因此,当我运行 docker build 时,它需要将所有构建上下文 [源代码] 发送到 Docker 守护进程。问题是假设如果我已经构建了我的 maven 项目,那么源代码大小将超过 5gb,包括所有目标目录。

所以在 .dockerignore 我需要忽略所有 /target/ 目录。

我试过这个,但它不工作

.git
**/target/*.*
4

2 回答 2

1

它应该和我们在 中做的一样.gitignore,所以忽略目标文件夹只需使用target/.

于 2020-07-16T06:00:22.287 回答
1

上面的答案似乎都不适合我(docker 版本 20.10.5)。最后,以下工作正常:

.dockerignore:

**/target/

这是.dockerignore 文档的摘录:

除了 Go 的 filepath.Match 规则之外,Docker 还支持一个特殊的通配符字符串 ** 匹配任意数量的目录(包括零)。例如,**/*.go 将排除在所有目录中找到的所有以 .go 结尾的文件,包括构建上下文的根目录。

于 2021-03-27T17:57:02.090 回答