Docker 插件:java.io.FileNotFoundException:/src/main/docker/Dockerfile gradle-docker 失败
Docker plugin : java.io.FileNotFoundException: /src/main/docker/Dockerfile gradle-docker fails
我在 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 脚本上构建以下构建任务时出现问题。
// 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
去掉路径中src前的'/'。该路径是相对于当前目录(项目根目录)而不是卷根目录的。
我在 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 脚本上构建以下构建任务时出现问题。
// 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
去掉路径中src前的'/'。该路径是相对于当前目录(项目根目录)而不是卷根目录的。