COPY失败:stat:没有这样的文件或目录

时间:2020-09-30 09:07:51

标签: docker dockerfile

我是Docker的新手。我有一个maven包装器,该包装器构建了我的应用程序的程序包,并将可部署程序复制到新文件夹中,然后运行它。我收到此错误。

复制失败:stat /var/lib/docker/tmp/docker-builder102689450/app/q-runner/target/q-runner-0.0.1-runner.jar:无此类文件或目录

当我提到要从/ app /复制时,为什么要在上述位置搜索文件。

我的docker文件是

 # docker build -f Dockerfile.build -t abc/notify-build .
    
    FROM adoptopenjdk/openjdk14:ubi 
    
    WORKDIR /app
    
    COPY ./ /app
    
    
    RUN chmod +x ./mvnw && \
    ./mvnw package
    
    
    ENV JAVA_OPTIONS=-Dquarkus.http.host=0.0.0.0
    
    COPY /app/target/*-runner.jar /deployments/app.jar
    
    CMD java -jar /deployments/app.jar

1 个答案:

答案 0 :(得分:1)

我已将其分为两个阶段并已解决

#stage1
FROM adoptopenjdk/openjdk14:ubi as builder

RUN mkdir build
COPY . /build
WORKDIR /build

RUN chmod +x ./mvnw && \
./mvnw package

#stage2
FROM adoptopenjdk/openjdk14:ubi

COPY --from=builder /build/q-runner/target/lib/* /deployments/lib/

COPY --from=builder /build/q-runner/target/*-runner.jar /deployments/app.jar

ENV JAVA_OPTIONS=-Dquarkus.http.host=0.0.0.0

CMD java -jar /deployments/app.jar