我有一个前端项目,其中包含package.json
。(例如,想象create-react-app
)
当我运行以下命令时,一切正常,没有错误。first DockerFile
COPY . develop
WORKDIR develop
但是如果我想要
COPY
,package.json
next命令,我将遇到错误。second DockerFile
COPY package.json develop
WORKDIR develop
错误消息:
Cannot mkdir: /develop is not a directory
我知道如何使用以下命令对我的项目进行Docker化。
WORKDIR develop
COPY package.json .
我只是想知道为什么第一个Dockerfile有效而第二个不起作用。
我还在
RUN ls
命令之后使用了COPY
,并找出了两种情况下develop
目录已生成的情况。 最佳答案
这是因为COPY package.json develop
被指示以和的形式将packages.json复制到容器中。因此下一个指令WORKDIR失败,因为开发不是目录而是文件。
在之前和之后使用 / 开发,它应该可以工作。
FROM alpine
COPY temp.txt /develop/
WORKDIR develop
关于docker - 为什么Docker COPY在单个文件和目录下的工作方式有所不同?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58421139/