【问题标题】:Docker compose build relative pathDocker compose 构建相对路径
【发布时间】:2018-06-15 17:02:15
【问题描述】:
creditcard-monk:
 build:
  context: ./creditcard
  dockerfile: Dockerfile
  args:
    JAR_FILE: target/creditcard-1.0.0.jar

Docker 组合版本 3.0。 jar_file 参数用于将 jar-file 复制到 docker 容器下的 spring-boot jar 中

我收到错误failed to build: COPY failed: stat /var/lib/docker/tmp/docker-builder347176151/target/creditcard-1.0.0.jar: no such file or directory

我认为提到上下文,将从目标文件夹中读取 jar。但似乎 docker-compose 没有从指定的上下文中读取文件

请帮忙。 注意:- docker 文件很简单,由 alpine-java-8 和一个复制命令将 jar 复制到容器以启动 spring boot 应用程序

【问题讨论】:

    标签: java docker spring-boot build docker-compose


    【解决方案1】:
    version: "3.1"
    services:
        creditcard-monk:
         build:
          context: ./
          dockerfile: Dockerfile
          args:
            JAR_FILE: target/creditcard-1.0.0.jar
    

    docker build --build-arg JAR_FILE=target/creditcard-1.0.0.jar
    

    这两个命令现在都起作用了。但是第二个命令在大多数情况下都有效并且从未失败。

    因为 docker 已经在文件夹中运行了

    【讨论】:

      【解决方案2】:

      您当前的代码假定存在以下路径:

      ./creditcard/target/creditcard-1.0.0.jar
      

      JAR_FILE 路径将位于您为上下文指定的路径内。仔细检查路径应该是什么,并相应地更新您的上下文和 JAR_FILE 参数。

      【讨论】:

      • 抱歉回复晚了。不,不是这样,文件就在那里。但是构建时的 docker 在它的临时目录中查找它构建 docker pkg 的位置。我的目录结构如下``和尚->信用卡(文件夹)docker-compose``是的,目标存在于信用卡文件夹中
      • 问题已根据您的指示解决..但没有提及当前目录之后的文件夹..所以请举手 jobmanager: build: context: ./ args: JAR_FILE: target/creditcard- 1.0.0.jar
      猜你喜欢
      • 2020-08-06
      • 2018-08-07
      • 2019-04-22
      • 2017-09-25
      • 1970-01-01
      • 2018-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多