【问题标题】:Docker ignore target directories created by mave using .dockerignore fileDocker忽略mave使用.dockerignore文件创建的目标目录
【发布时间】:2021-03-28 01:57:02
【问题描述】:

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

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

我试过了,但它不起作用

.git
**/target/*.*

【问题讨论】:

标签: java docker maven dockerfile dockerignore


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    以上答案似乎都不适合我(docker 版本 20.10.5)。最后,以下解决了:

    .dockerignore:

    **/target/
    

    这是.dockerignore documentation的摘录:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-14
      • 1970-01-01
      • 2012-03-31
      • 2013-05-16
      • 1970-01-01
      • 1970-01-01
      • 2021-06-10
      • 2017-06-29
      相关资源
      最近更新 更多