2016-03-03 45 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

相關問題