Docker 添加没有这样的文件或目录
Docker add no such file or directory
以下是我的根目录:
andrej:
- docker/CodeExperiments.jar
- docker2/Dockerfile
这是我的 Dockerfile 的内容:
FROM java:8
ADD docker/CodeExperiments.jar docker/
RUN javac BirthDayTask.java
这是我的命令 运行:
docker build -t newfile docker2
这会导致以下错误消息:
ADD failed: stat /var/lib/docker/tmp/docker-builder946291442/docker/CodeExperiments.jar: no such file or directory
我做错了什么?
CodeExperiments
位于 docker
文件夹中,而 Dockerfile 位于 docker2
中。
将它们放在同一个文件夹中或至少 CodeExperiments
放在 Dockerfile 的子文件夹中并从那里引用。
当你
ADD docker/CodeExperiments.jar docker/
它相对于上下文目录,这是docker build
命令中命名的目录。这意味着您需要将当前目录作为目录参数传递给 docker build
。默认情况下,它会在该目录中查找 Dockerfile
,因此您还需要一个 -f
选项来指向备用文件。
一起看起来像:
docker build -t newfile -f docker2/Dockerfile .
以下是我的根目录:
andrej:
- docker/CodeExperiments.jar
- docker2/Dockerfile
这是我的 Dockerfile 的内容:
FROM java:8
ADD docker/CodeExperiments.jar docker/
RUN javac BirthDayTask.java
这是我的命令 运行:
docker build -t newfile docker2
这会导致以下错误消息:
ADD failed: stat /var/lib/docker/tmp/docker-builder946291442/docker/CodeExperiments.jar: no such file or directory
我做错了什么?
CodeExperiments
位于 docker
文件夹中,而 Dockerfile 位于 docker2
中。
将它们放在同一个文件夹中或至少 CodeExperiments
放在 Dockerfile 的子文件夹中并从那里引用。
当你
ADD docker/CodeExperiments.jar docker/
它相对于上下文目录,这是docker build
命令中命名的目录。这意味着您需要将当前目录作为目录参数传递给 docker build
。默认情况下,它会在该目录中查找 Dockerfile
,因此您还需要一个 -f
选项来指向备用文件。
一起看起来像:
docker build -t newfile -f docker2/Dockerfile .