Docker 使用DeviceMapper设置光盘配额
我已将存储插件更改为Docker 使用DeviceMapper设置光盘配额,docker,quota,device-mapper,Docker,Quota,Device Mapper,我已将存储插件更改为deviceapper码头工人信息给出以下输出 Server Version: 1.9.0 Storage Driver: devicemapper Pool Name: docker-253:1-16-pool Pool Blocksize: 65.54 kB Base Device Size: 107.4 GB Backing Filesystem: extfs Data file: /dev/loop0 Metadata file: /dev/loop1
deviceapper
<代码>码头工人信息给出以下输出
Server Version: 1.9.0
Storage Driver: devicemapper
Pool Name: docker-253:1-16-pool
Pool Blocksize: 65.54 kB
Base Device Size: 107.4 GB
Backing Filesystem: extfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 1.821 GB
Data Space Total: 268.4 GB
Data Space Available: 11.66 GB
Metadata Space Used: 2.101 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.145 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Deferred Deletion Enabled: false
Deferred Deleted Device Count: 0
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.90 (2014-09-01)
Execution Driver: native-0.2
首先,我不知道如何设置每个容器的配额。我是否应该在
docker run
命令中使用flgas?使用devicemapper作为存储插件,您不能设置每个容器的磁盘大小。每个容器的大小都是固定的。根据docker info的输出,建议固定大小约为100GB。但是,根据您的要求,您可以选择以下两个选项之一
a、 )您可以将此固定大小从100GB更改为其他值,如20GB,但在这种情况下,所有容器的固定磁盘大小都将为20GB。如果您想继续使用此选项,可以按照以下步骤操作:
sudo服务docker停止
/var/lib/docker
)——注意这将删除所有
现有docker映像和容器
docker守护程序-s devicemapper--storage opt dm.basesize=20G
/etc/default/DOCKER
中添加选项DOCKER\u OPTS='-g/var/lib/DOCKER-s deviceapper--storage opt dm.basesize=5G'
,然后重新启动DOCKER服务
sudo服务docker启动
希望这个答案对您的需求有用,谢谢。我之前已经和Jérôme Petazzoni谈过这个问题。他说,这个解决方案已被弃用,因此不起作用。我已将该解决方案用于docker 1.9及其工作环境。甚至我也使用此解决方案修改了docker源代码以满足我们的需求,即,在仅创建容器时,我发送容器的磁盘大小,更改其磁盘大小并调整FS大小,它也可以在那里工作。甚至我也看到一些工作将在未来的docker版本中实现类似的方法。如果有帮助的话,你可以遵循这个方法。你有关于这个解决方案的教程或文章吗?听起来很有趣。光盘配额限制是Docker现在非常有趣的一部分!