2

我希望能够限制容器大小,但是使用默认存储驱动程序 aufs(适用于 Ubuntu 14.04)在尝试使用 --storage-opt 参数时出现错误

$ docker create -it --name="disk_test" --storage-opt size=100G --cpuset-cpus="10,11,12,13,14,15,16,17" -m=16G ubuntu:14.04
Unable to find image 'ubuntu:14.04' locally
14.04: Pulling from library/ubuntu
04c996abc244: Pull complete
d394d3da86fe: Pull complete
bac77aae22d4: Pull complete
b48b86b78e97: Pull complete
09b3dd842bf5: Pull complete
Digest: sha256:bd00486535fd3ab00463b0572d94a62715cb790e482d5419c9179cd22c74520b
Status: Downloaded newer image for ubuntu:14.04
Error response from daemon: --storage-opt is not supported for aufs

当我使用 devicemanager 作为我的存储驱动程序时,它可以工作。如果我想限制我的容器根文件系统大小,我唯一的选择是选择 aufs 以外的东西吗?

4

2 回答 2

3

--storage-opt size=X在 Docker 1.12 中的devicemapperzfsbtrfs上运行时可用,也可能在 Windows 上运行。

该选项当前不适用于 aufs 或 overlay/2 存储驱动程序。

看起来XFS 上的 overlay2将在 Docker 1.13-1.14 中获得支持。Ext4 支持将在一段时间后出现,因为它依赖于更新内核,而不是大多数当前使用的发行版(4.5+)。

aufs 可能无法获得该功能,因为 Docker 似乎正在推动将 overlay2 作为默认设置,因为 4+ 内核已经内置了对覆盖的支持。

于 2016-10-06T08:56:12.697 回答
0

你可以告诉 Docker 使用 DeviceMapper 存储后端而不是 AuFS。这样每个容器都将在块设备上运行

于 2016-10-06T08:48:57.373 回答