【发布时间】: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 之前的“/”。该路径相对于当前目录(项目根目录)而不是卷根目录。
-
谢谢大佬,就是这样。解决问题。我以前应该尝试过的。干杯!
标签: docker spring-boot boot2docker dockerfile docker-compose