将文件从主机复制到容器时,Docker COPY错误

时间:2020-02-27 18:33:08

标签: scala docker dockerfile

在下面的Dockerfile中,我试图将jar文件从主机上的某个位置复制到容器中,但是似乎Docker不喜欢它,因为我想我丢失了一些东西。这是我的Dockerfile:

FROM anapsix/alpine-java:jdk8
MAINTAINER joesan

ENV SBT_VERSION 0.13.15
ENV CHECKSUM 18b106d09b2874f2a538c6e1f6b20c565885b2a8051428bd6d630fb92c1c0f96

ENV APP_NAME my-app
ENV PROJECT_HOME /opt/apps

RUN mkdir -p $PROJECT_HOME/$APP_NAME

# Copy the jar file
COPY ./target/scala-*/my-app-*.jar $PROJECT_HOME/$APP_NAME

# Copy the database file
COPY .my-db.mv.db $PROJECT_HOME/$APP_NAME

# Run the application
CMD ["$PROJECT_HOME/$APP_NAME java -Denv=dev -jar my-app-*.jar"]

在我的构建管道中,我可以看到以下错误消息:

Step 8/10 : COPY ./target/scala-*/my-app-*.jar $PROJECT_HOME/$APP_NAME
COPY failed: no source files were specified
REPOSITORY            TAG                 IMAGE ID            CREATED                  SIZE
<none>                <none>              4a240742a379        Less than a second ago   171MB
anapsix/alpine-java   jdk8                ed55c27d366d        3 years ago              171MB
Error response from daemon: No such image: [secure]
Pushing image [secure] to repository hub.docker.com
The push refers to repository [docker.io/[secure]/my-app]
An image does not exist locally with the tag: [secure]/my-app

我所缺少的是什么,我该如何调试呢?我的意思是我可以添加一些echo语句以打印出路径,但是我不确定为什么会遇到此错误!

1 个答案:

答案 0 :(得分:2)

这可能是因为目标文件夹不在"./"文件夹中。可能是因为.dockerignore文件将其忽略,或者构建上下文未指向目标文件夹的父文件夹。

如果您不熟悉构建上下文,则说明here

相关问题