【问题标题】:IntelliJ docker deployment ADD: no such file or directoryIntelliJ docker部署添加:没有这样的文件或目录
【发布时间】:2017-10-26 12:55:42
【问题描述】:

我为 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

部署配置使用Deployment: docker/Dockerfile

当我点击 start 时,我收到以下错误消息:

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 构建 Dockerfile 一切都很好。

PS: 我毫不费力地检查了this

【问题讨论】:

    标签: java docker intellij-idea docker-compose dockerfile


    【解决方案1】:

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

    在您的情况下,它实际上是 &lt;project-root&gt;/docker 文件夹(在 Deployment: docker/Dockerfile 中指定)。而你真正想要的是使用由maven构建复制到&lt;project-root&gt;/build/docker的文件

    在 IntelliJ 2017.2 中,无法从构建文件夹中选择 docker 文件,因此对于 2017.2,唯一的解决方法是将构建配置为另外复制目标文件夹 &lt;project-root&gt;/docker 下的某处

    对于 IDEA 2017.3 Docker 运行配置允许选择项目内外的任何 docker 文件,因此您应该能够选择构建文件夹下的位置。请查看 IDEA 2017.3 public preview 和更新后的 docker plugin

    【讨论】:

      【解决方案2】:

      对于像我这样遇到这个问题的人。 自上次回答以来情况发生了变化。

      您现在可以为 IntelliJ Docker 集成指定上下文文件夹。 您可以前往此处:Run &gt; Edit Configurations &gt; Select your docker run/debug config 并指定 Context folder

      【讨论】:

        猜你喜欢
        • 2020-04-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-15
        相关资源
        最近更新 更多