Docker构建构建相对路径

时间:2018-01-05 20:53:39

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

creditcard-monk:
 build:
  context: ./creditcard
  dockerfile: Dockerfile
  args:
    JAR_FILE: target/creditcard-1.0.0.jar

Docker撰写3.0版。 jar_file参数用于将jar文件复制到docker container

下的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 app

2 个答案:

答案 0 :(得分: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 已经在文件夹内运行

答案 1 :(得分:0)

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

./creditcard/target/creditcard-1.0.0.jar

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