docker - 将 Docker 中的 * 文件复制到目录会出错
问题描述
我有以下 Dockerfile
FROM openjdk:8-jdk-alpine
RUN mkdir -p /webpieces
COPY * /webpieces
WORKDIR "/webpieces"
ENTRYPOINT ["./bin/webpiecesexample"]
当我这样构建时,出现以下错误
Deans-MacBook-Pro:webpiecesexample dean$ docker build -t gcr.io/braided-topic/webpieces2 .
Sending build context to Docker daemon 75.56MB
Step 1/5 : FROM openjdk:8-jdk-alpine
---> a3562aa0b991
Step 2/5 : RUN mkdir -p /webpieces
---> Running in bc615c0cd540
Removing intermediate container bc615c0cd540
---> 69a2f4530c44
Step 3/5 : COPY * /webpieces
When using COPY with more than one source file, the destination must be a directory and end with a /
当我修剪 DockerFile 并仅使用前两行进行构建,然后使用基本 shell 运行以查看目录时,我会在那里看到 webpieces 目录
docker run -it --entrypoint sh gcr.io/braided-topic-266113/webpieces2
我可以 cd 到 webpieces 和一切。为什么复制命令在这里不起作用?
码头版本在这里:
Deans-MacBook-Pro:distributions dean$ docker version
Client: Docker Engine - Community
Version: 19.03.5
API version: 1.40
Go version: go1.12.12
Git commit: 633a0ea
Built: Wed Nov 13 07:22:34 2019
OS/Arch: darwin/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.5
API version: 1.40 (minimum version 1.12)
Go version: go1.12.12
Git commit: 633a0ea
Built: Wed Nov 13 07:29:19 2019
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.2.10
GitCommit: b34a5c8af56e510852c35414db4c1f4fa6172339
runc:
Version: 1.0.0-rc8+dev
GitCommit: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
docker-init:
Version: 0.18.0
GitCommit: fec3683
解决方案
COPY
与多个源文件一起使用时,目标必须是一个目录并以/
.
COPY
将行更改为
COPY * /webpieces/
...它似乎复制了每个目录的内容,而不是目录本身。我不想命名我移动的每个目录,因为我们更喜欢在进行更改时自动添加。
使用.
代替,*
它将保留所有嵌套。
COPY . /webpieces/
推荐阅读
- javascript - 模式以允许 2 个字母数字之间的可选连字符并限制空格
- ruby - XLS 抛出 java.lang.ClassNotFoundException:org.apache.poi.hssf.util.HSSFColor$BLACK
- sql - 根据逗号分隔的字符串列将一行拆分为多行
- javascript - 在 Maven 中编写脚本以设置项目属性
- r - 使用百分位数和相应值在 R 中绘制分布
- sql - SQL在使用pivot后添加多个计算行
- java - 格式化输出到文件
- java - 使用 swagger-code-gen-cli jar 生成 pojo 类时,扩展类中的字段丢失
- php - 无法使用 Imagemagick 读取 pdf 文件
- botframework - 如何在 PromptAttribute 文本中添加换行符?