docker - 为什么 Docker COPY 对单个文件和目录的工作方式不同?
问题描述
我有一个前端项目,其中包括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
我知道如何使用以下命令对我的项目进行 dockerize。
WORKDIR develop
COPY package.json .
我只是想知道为什么第一个 Dockerfile 有效,而第二个无效。
我还使用RUN ls
了 afterCOPY
命令并在这两种情况下develop
都已生成目录。
解决方案
这是因为被指示将 packages.json 作为developCOPY package.json develop
复制到容器中。所以下一个指令 WORKDIR 失败,因为develop不是目录而是文件。
在开发之前和&之后使用/,它应该可以工作。
FROM alpine
COPY temp.txt /develop/
WORKDIR develop
推荐阅读
- r - 按日期和休息时间的组合删除累积总和
- flutter - 颤振错误:xcodebuild:警告:使用多个匹配目标中的第一个
- r - R:如何将日期间隔扩展到单个日期
- c# - MailKit:搜索查询以从服务器获取一定范围的 Uid
- python - “NoneType”对象没有属性“值”
- javascript - 在单击测试用例上反应本机检查上下文值
- django - Django 测试和 Trigram 相似性问题
- android - 如何修复此 PlayerNotificationManager.createWithNotificationChannel 错误
- similarity - 我在哪里可以找到 Scilab balanc() 函数来计算相似度变换以在 Maxima 中对其进行编程
- swift - 如何确定 UIBezierPath 相对于其父视图的 arcCenter?