docker, - storage-opts和aufs存储驱动程序

时间:2016-10-06 07:50:32

标签: docker device-manager

我希望能够限制容器大小,但是使用默认存储驱动程序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以外的东西吗?

2 个答案:

答案 0 :(得分:2)

在Docker 1.12中的devicemapperzfsbtrfs上运行时,

--storage-opt size=X可用,也可能在Windows上运行。

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

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

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

答案 1 :(得分:0)

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