我是docker的新手,并在gradle中使用bmuschko插件来创建docker镜像,容器并运行它。只有buildImage任务似乎有效。在创建容器时,它说
没有为属性' imageId'
指定值
这是我的gradle文件片段。
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath 'com.bmuschko:gradle-docker-plugin:2.6.5'
}
import com.bmuschko.gradle.docker.tasks.container.*
import com.bmuschko.gradle.docker.tasks.image.*
task copyJar(type: Copy) {
dependsOn 'jar'
from 'build/libs/rest-app-0.0.1-SNAPSHOT.jar'
into 'build/docker'
from 'src/main/resources/Dockerfile'
into 'build/docker'
}
task buildImage(type: DockerBuildImage) {
dependsOn 'copyJar'
inputDir = file('build/docker');
url = 'unix:///var/run/docker.sock'
tag = 'rest-app/nci:0.1'
}
task createContainer(type: DockerCreateContainer) {
dependsOn buildImage
containerName = 'my-rest-app'
targetImageId { buildImage.getImageId() }
portBindings = ['8080:8080']
}
task startContainer(type: DockerStartContainer) {
dependsOn createContainer
targetContainerId { createContainer.getContainerId()}
}
build.dependsOn copyJar
build.dependsOn buildImage
build.dependsOn createContainer
这是stacktrace片段。
..... rest-app:check:rest-app:createContainer ID !!!!!!! 8cf8fc8d2af9 :rest-app:createContainer FAILED
失败:构建因异常而失败。
出了什么问题:找到了任务配置的问题 ':其余应用内:createContainer'
没有为属性' imageId'指定值。尝试:运行 --info或--debug选项可以获得更多日志输出。
异常是:org.gradle.api.tasks.TaskValidationException:一个问题 找到了task':rest-app:createContainer'的配置。 在 org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:55)
任何人都可以让我知道如何解决这个问题?提前谢谢。
答案 0 :(得分:1)
遇到了问题。似乎功能,即targetImageId(...)
无法按预期工作。所以从2.6.6降级到2.6.5就像一个魅力。这是他们官方github网站上的bug created and answered。