1

以下是我的根目录:

andrej:
  - docker/CodeExperiments.jar
  - docker2/Dockerfile

这是我的 Dockerfile 的内容:

FROM java:8
ADD docker/CodeExperiments.jar docker/
RUN javac BirthDayTask.java

这是我正在运行的命令:

docker build -t newfile docker2

这会导致以下错误消息:

添加失败:stat /var/lib/docker/tmp/docker-builder946291442/docker/CodeExperiments.jar:没有这样的文件或目录

我究竟做错了什么?

4

2 回答 2

2

CodeExperiments位于docker文件夹中,而 Dockerfile 位于docker2.

将它们放在同一个文件夹中,或者至少放在CodeExperimentsDockerfile 的子文件夹中并从那里引用。

于 2020-01-09T23:11:17.970 回答
1

当你

ADD docker/CodeExperiments.jar docker/

它相对于上下文目录,即docker build命令中命名的目录。这意味着您需要将当前目录作为目录参数传递给docker build. 默认情况下,它会Dockerfile在该目录中查找,因此您还需要一个-f选项来指向备用文件。

这看起来像:

docker build -t newfile -f docker2/Dockerfile .
于 2020-01-10T12:07:36.750 回答