我有一个前端项目,其中包含package.json
。(例如,想象create-react-app
)
当我执行以下命令时,一切正常,没有错误。
first DockerFile
COPY . develop
WORKDIR develop
但是如果我要COPY
,package.json
下一条命令,我将遇到错误。
second DockerFile
COPY package.json develop
WORKDIR develop
错误消息:Cannot mkdir: /develop is not a directory
我知道如何使用以下命令对我的项目进行docker化。
WORKDIR develop
COPY package.json .
我只是想知道为什么第一个Dockerfile有效而第二个Dockerfile不起作用。
我在RUN ls
命令之后也使用了COPY
,并在两种情况下都发现了develop
目录的产生。
这是因为指示COPY package.json develop
以develop的形式将packages.json复制到容器。因此下一个指令WORKDIR失败,因为develop不是目录,而是文件。
在develop之前使用/,它应该可以工作。
FROM alpine
COPY temp.txt /develop/
WORKDIR develop