没有为物业指定任何价值' imageId'在创建容器时

时间:2016-03-03 14:45:23

标签: gradle docker build.gradle gradle-plugin

我是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)

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

1 个答案:

答案 0 :(得分:1)

遇到了问题。似乎功能,即targetImageId(...)无法按预期工作。所以从2.6.6降级到2.6.5就像一个魅力。这是他们官方github网站上的bug created and answered