Docker 插件:java.io.FileNotFoundException:/src/main/docker/Dockerfile gradle-docker 失败

Posted

技术标签:

【中文标题】Docker 插件:java.io.FileNotFoundException:/src/main/docker/Dockerfile gradle-docker 失败【英文标题】:Docker plugin : java.io.FileNotFoundException: /src/main/docker/Dockerfile gradle-docker fails 【发布时间】:2016-02-13 05:42:18 【问题描述】:

我正在尝试在 osx (mbp) 上运行 spring boot sample,但出现以下异常(尝试 buildDocker 任务)。我确定我已经正确配置了 docker,因为我可以运行命令 docker-machine run hello-world 并接收正确的输出。

Caused by: java.io.FileNotFoundException: /src/main/docker/Dockerfile (No such file or directory)
    at se.transmode.gradle.plugins.docker.image.Dockerfile.fromExternalFile(Dockerfile.groovy:45)
    at se.transmode.gradle.plugins.docker.image.Dockerfile$fromExternalFile.call(Unknown Source)
    at se.transmode.gradle.plugins.docker.DockerTask.buildDockerfile(DockerTask.groovy:223)
    at se.transmode.gradle.plugins.docker.DockerTask.build(DockerTask.groovy:238)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63)
    ... 54 more

其他验证是我可以毫无问题地运行 gradle-docker 默认构建任务(即 distDocker)。当我尝试在 gradle 脚本上运行 build 任务时出现问题。

    // tag::task[]
task buildDocker(type: Docker, dependsOn: build) 
  push = true
  applicationName = jar.baseName
  dockerfile = file('/src/main/docker/Dockerfile')
  doFirst 
    copy 
      from jar
      into stageDir
    
  

// end::task[]

我无法确定为什么它无法确定文件已经存在。我尝试复制到根目录并更改路径,但没有成功。

OSX:10.10.4 Java : 1.8

【问题讨论】:

你在哪个目录运行 buildDocker?你用的是gradlew还是gradle?你的命令是什么?我从项目根目录运行相同的任务:./gradlew buildDocker @Bloodysock 从目录 /Users/charith/gs-spring-boot-docker/complete/ 运行并使用 gradlew。 我使用相同的命令 ./gradlew --stacktrace buildDocker 删除路径中 src 之前的“/”。该路径相对于当前目录(项目根目录)而不是卷根目录。 谢谢大佬,就是这样。解决问题。我以前应该尝试过的。干杯! 【参考方案1】:

删除路径中 src 之前的“/”。该路径是当前目录(项目根目录)的相对路径,而不是卷根目录。

【讨论】:

以上是关于Docker 插件:java.io.FileNotFoundException:/src/main/docker/Dockerfile gradle-docker 失败的主要内容,如果未能解决你的问题,请参考以下文章

docker数据卷插件

还在使用第三方Docker插件?SpringBoot官方插件真香!

Maven实战技巧「Docker实战系列」使用Maven插件构建Docker镜像的方法

idea设置docker远程插件

docker使用docker-maven-plugin插件构建docker镜像

dockermaven插件可以windows打包吗