我无法将windows计算机中的文件添加到docker中的alpine image
我正在学习docker教程,其中一节课创建了一个docker文件,其中我们:我无法将windows计算机中的文件添加到docker中的alpine image,docker,dockerfile,Docker,Dockerfile,我正在学习docker教程,其中一节课创建了一个docker文件,其中我们: 从alpine图像创建容器 将java安装到该映像中 设置环境路径,以便可以在映像中执行javac 将工作目录更改为指定目录 将Test.java文件从我的windows计算机添加到步骤4中提到的映像中的工作目录 编译Test.java文件,然后运行它 我已在windows计算机中创建了以下dockerfile: 以下是我的dockerfile内容: FROM alpine RUN apk add openjdk8 E
FROM alpine
RUN apk add openjdk8
ENV PATH $PATH:/usr/lib/jvm/java-1.8-openjdk/bin
WORKDIR /usr/share/udemy
ADD Test.java Test.java
ENTRYPOINT javac Test.java && java Test
这是我从容器中收到的错误消息:
javac: file not found: /usr/share/udemy/Test.java
Usage: javac <options> <source files>
use -help for a list of possible options
javac:找不到文件:/usr/share/udemy/Test.java
用法:javac
使用-help获取可能选项的列表
我的cmd提示符上应该会出现“你好,世界!!!”
我做错了什么。我按照教程一直到dot,但我似乎无法理解它。如果您将ENTRYPOINT更改为CMD,您可以
docker运行--rm-it imagename sh
,在构建的图像上获得一个交互式shell并四处查看。(还有一个--entrypoint
选项,但使用起来有点笨拙。)您的dockerfile看起来不错,但我很好奇有一件事可能会导致您的问题。您从哪里运行docker命令?您能运行命令dir
并为我们显示输出吗?也,你能给我们看一下你用来构建和运行docker镜像的命令吗?@Joshua当我执行dir命令时,我得到了文件夹中文件的列表:docker Notes.txt
docker commands.pdf
DockerFile
Test.java我使用以下命令来构建:docker build-t=oribta1frame/hello word.
要运行:docker run orbitalframe/hello world
@DavidMaze我运行了以下命令:docker run--rm-it orbitalframe/hello world sh
,我没有得到交互式shell。我收到与以前相同的错误消息,并且它存在。我将使用COPY
而不是ADD
,因为您没有使用ADD
的特殊提取功能。另外,ADD
/COPY
的第二个参数应该是destination,因此它应该是一个目录/路径,而不仅仅是一个文件名(可能它的工作方式与tho类似)。最后,Test.java
是否与您的Dockerfile
位于同一目录中?应该是这样的。如果您将ENTRYPOINT更改为CMD,您可以docker运行--rm-It imagename sh
在构建的图像上获得一个交互式shell并四处查看。(还有一个--entrypoint
选项,但使用起来有点笨拙。)您的dockerfile看起来不错,但我很好奇有一件事可能会导致您的问题。您从哪里运行docker命令?您能运行命令dir
并为我们显示输出吗?也,你能给我们看一下你用来构建和运行docker镜像的命令吗?@Joshua当我执行dir命令时,我得到了文件夹中文件的列表:docker Notes.txt
docker commands.pdf
DockerFile
Test.java我使用以下命令来构建:docker build-t=oribta1frame/hello word.
要运行:docker run orbitalframe/hello world
@DavidMaze我运行了以下命令:docker run--rm-it orbitalframe/hello world sh
,我没有得到交互式shell。我收到与以前相同的错误消息,并且它存在。我将使用COPY
而不是ADD
,因为您没有使用ADD
的特殊提取功能。另外,ADD
/COPY
的第二个参数应该是destination,因此它应该是一个目录/路径,而不仅仅是一个文件名(可能它的工作方式与tho类似)。最后,Test.java
是否与您的Dockerfile
位于同一目录中?应该是。