上下文:我在Archlinux下,想创建一个dockerfile作为我的程序在Ubuntu 16.04 (xenial)下的用户参考。它在apt上只有一个旧的OpenCV版本(2.4),所以我需要从源代码编译OpenCV。
问题: OpenCV编译创建超过10G的数据,这是容器大小限制(在df -h中可见),因此在完成编译之前崩溃。
上次失败的尝试:我看到有一个守护进程选项--storage-opt dm.basesize=20G。因此,我更改了docker.service行:
# from
ExecStart=/usr/bin/dockerd -H fd://
# to
ExecStart=/usr/bin/dockerd --storage-opt dm.basesize=20G -H fd://在重新启动守护程序服务并修剪所有镜像和容器后,命令docker info现在显示“基本设备大小:21.47 my”,而不是以前的10 my。然而,每个新容器仍然有10G的大小限制。命令df -h显示:
root@71802e5b7ba4:/# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/docker-8:6-1704110-b5a7ec35a707f478a4a836ff859108092bbe32525d558d4f6661efba91313801 10G 139M 9.9G 2% /
...你知道我该怎么改变这一点吗?
发布于 2019-03-15 03:30:37
您也可以使用devicemapper存储驱动程序(old example)来执行此操作。您只需要先移除(docker rmi)并构建/拉取使用过的Docker镜像。更改存储驱动程序还会触发将所有图像从头开始提取到文件系统,因此这就解释了它为什么要与overlay2一起工作。
https://stackoverflow.com/questions/55169482
复制相似问题