Docker compose构建相对路径

Fry*_*der 5 java build docker spring-boot docker-compose

creditcard-monk:
 build:
  context: ./creditcard
  dockerfile: Dockerfile
  args:
    JAR_FILE: target/creditcard-1.0.0.jar
Run Code Online (Sandbox Code Playgroud)

Docker compose 版本 3.0。jar_file 参数用于将 jar 文件复制到 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 应用程序

Fry*_*der 2

version: "3.1"
services:
    creditcard-monk:
     build:
      context: ./
      dockerfile: Dockerfile
      args:
        JAR_FILE: target/creditcard-1.0.0.jar
Run Code Online (Sandbox Code Playgroud)

或者

docker build --build-arg JAR_FILE=target/creditcard-1.0.0.jar
Run Code Online (Sandbox Code Playgroud)

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

由于 docker 已经在文件夹内运行