我正试图用docker compose部署我的春季启动应用程序,但收到了以下错误:
步骤14/15:复制${JAR_FILE}manager.JAR错误:服务"manager"无法生成:对多个源文件使用COPY时,目标必须是一个目录并以/结尾
但是,如果我使用Dokerfile进行docker构建,它可以正常工作。问题是,为什么和docker组合失败?。
C:\Push\Workspace\manager>docker构建-标记";码头经理:最新的"[+]建筑7.3s(8/8(完工
我尝试过寻找例子,但我使用的是windows 10
Dockerfile:
FROM openjdk:8-jdk-alpine
RUN addgroup -S spring && adduser -S spring -G spring
USER spring:spring
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} example.jar
ENTRYPOINT ["java", "-jar", "example.jar"]
码头组合yml
services:
oracle:
image: container-registry-london.oracle.com/database/enterprise:12.2.0.1
ports:
- "8080:8080"
- "1521:1521"
manager:
build: .
ports:
- "8181:8181"
depends_on:
- oracle
links:
- oracle
restart: always
我猜您的目标文件夹中可能有多个jar文件。请不要使用*.jar,而是使用jar的全名,然后使用--build标志重建dokcer compose文件。
ARG JAR_FILE=target/test-0.0.1-SNAPSHOT.jar
然后使用构建
docker-compose up --build