我制作了像这样的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/
我的用户/下载/文件夹还有其他名为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镜像中吗?
提前致谢。
答案 0 :(得分:2)
build
首先从上下文目录(在您的情况下为/Users/Downloads/
)创建tarball并将该tarball发送到服务器。 tarball是在tmp目录中创建的,这可能是你在尝试构建时空间不足的原因。
当您使用大型数据集时,建议的方法是使用卷。您可以使用绑定装入卷来装载主机中的文件。
如果您尝试添加的文件数量不大,则可能需要使用.dockerignore
忽略/Users/Downloads
下的其他文件。
您还可以使用$DOCKER_TMPDIR