我是新来的码头工人,在gradle中使用bmuschko插件创建码头图像,容器并运行它。只有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的应用:检查:REST的应用:createContainer ID !!!!!!! 8cf8fc8d2af9 :REST的应用:createContainer失败
故障:建立与失败例外。
出了什么问题:配置任务 ':rest-app:createContainer'时发现问题。
没有为属性'imageId'指定值。尝试:使用 --info或--debug选项运行以获得更多日志输出。
例外情况是:org.gradle.api.tasks.TaskValidationException:在任务':rest-app:createContainer'的配置中发现问题 。 在 org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:55)
任何人都可以请让我知道如何解决这个问题?提前致谢。
不熟悉Gradle,但通过错误消息判断,它看起来像没有指定图像ID。你不应该给你一个基础的形象,你建立自己的形象? – Pubudu
@Pubudu感谢您的回复。由于它具有'targetImageId {buildImage.getImageId()}',所以不是必需的。 – DMA