2016-03-03 15 views
2

我是新来的码头工人,在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)

任何人都可以请让我知道如何解决这个问题?提前致谢。

+0

不熟悉Gradle,但通过错误消息判断,它看起来像没有指定图像ID。你不应该给你一个基础的形象,你建立自己的形象? – Pubudu

+0

@Pubudu感谢您的回复。由于它具有'targetImageId {buildImage.getImageId()}',所以不是必需的。 – DMA

回答

1

出现问题。看起来像功能,即targetImageId(...)不按预期方式工作。所以从2.6.6降级到2.6.5就像魅力一样。以下是官方github网站上的bug created and answered

+0

似乎这种功能对于新版本即2.6.7很适用。 – DMA

相关问题