gpt4 book ai didi

Dockerfile 构建错误并写入另一个文件夹

转载 作者:行者123 更新时间:2023-12-02 21:24:44 25 4
gpt4 key购买 nike

我做了一个这样的dockerfile

FROM hyeshik/tailseeker:latest
RUN rm /opt/tailseeker/conf/defaults.conf
COPY /Users/Downloads/defaults.conf /opt/tailseeker/conf/
COPY /Users/Downloads/level2/* /opt/tailseeker/refdb/level2/
COPY /Users/Downloads/level3/* /opt/tailseeker/refdb/level3/

我的/Users/Downloads/文件夹还有其他名为 input 的文件夹

当我跑
docker build -f /Users/Downloads/Dockerfile /Users/Downloads/

我收到一条错误消息
Sending build context to Docker daemon 126.8 GB
Error response from daemon: Error processing tar file(exit status 1): write /input/Logs/Log.00.xml: no space left on device

这里有一件奇怪的事情是为什么它试图写入输入文件夹?另一个是为什么它提示设备上没有剩余空间。我有一个 1TB 的磁盘,只使用了 210GB。我还使用了 qemu-img 并调整了 Docker.qcow2 的大小。这是我的 Docker.qcow2 的信息
image:/Users/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
file format: qcow2
virtual size: 214G (229780750336 bytes)
disk size: 60G
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: true
refcount bits: 16
corrupt: false

谁能帮我使用上面的 dockerfile 将/Users/Downloads 文件夹中的内容复制到 docker 镜像中?

提前致谢。

最佳答案

build首先从上下文目录(在您的情况下为 /Users/Downloads/ )创建一个 tarball 并将该 tarball 发送到服务器。 tarball 是在 tmp 目录中创建的,这可能是您在尝试构建时空间不足的原因。

当您处理大型数据集时,推荐的方法是使用卷。您可以使用绑定(bind)挂载卷从主机挂载文件。

如果您尝试添加的文件不是那么大,您可能需要使用 .dockerignore忽略 /Users/Downloads 下的其他文件.

您还可以使用 $DOCKER_TMPDIR 使用备用临时目录启动 docker 守护程序。

关于Dockerfile 构建错误并写入另一个文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40513628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com