IntelliJdocker部署地址:没有这样的文件或目录

我安装了用于IntelliJ的docker集成插件来即时部署一个项目。
目前我正在用Gradle来开发一个项目。 那里的结构看起来像:

project |- build/ |-- docker/ |--- Dockerfile |--- target/ |---- myApp.jar |- docker/ |-- Dockerfile |- src/ |-- de.myApp/ |--- SOURCECODE |- build.gradle |- gradlew 

在我的Dockerfile中添加.jar
ADD target/data_sample_set_structure_consumer-0.0.0.jar app.jar

部署configuration使用Deployment: docker/Dockerfile

当我点击开始 ,我得到以下错误信息:

 Step 3/4 : ADD target/data_sample_set_structure_consumer-0.0.0.jar app.jar Error: ResponseItem.ErrorDetail[code=<null>,message=ADD failed: stat /var/lib/docker/tmp/docker-builder981429297/target/data_sample_set_structure_consumer-0.0.0.jar: no such file or directory] Failed to deploy '<unknown> Dockerfile: docker/Dockerfile': ADD failed: stat /var/lib/docker/tmp/docker-builder981429297/target/data_sample_set_structure_consumer-0.0.0.jar: no such file or directory 

但是,如果我用./gradlew buildDocker构buildDockerfile ,一切都很好。

PS:我没有努力检查。

IntelliJ Docker集成假定Docker构build的上下文文件夹始终是Dockerfile的父文件夹。

在你的情况下,它实际上是<project-root>/docker文件夹(在Deployment: docker/Dockerfile指定)。 而你真正想要的是使用由Maven构build复制的文件到<project-root>/build/docker

在IntelliJ 2017.2中,没有办法从构build文件夹中selectdocker文件,因此对于2017.2,唯一的解决方法是将构buildconfiguration为另外将目标文件夹复制到<project-root>/docker docker下的某处

对于IDEA 2017.3 Docker运行configuration允许select项目内外的任何docker文件,因此您应该能够在build文件夹下select位置。 请检查IDEA 2017.3 公开预览和更新的docker 插件