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。如果您想继续使用此选项,可以按照以下步骤操作:

  • 停止docker服务,
    sudo服务docker停止

  • 删除现有的docker目录(在您的情况下是默认目录) 一个,即
    /var/lib/docker
    )——注意这将删除所有 现有docker映像和容器

  • 使用选项启动docker守护程序
    docker守护程序-s devicemapper--storage opt dm.basesize=20G

  • 或者代替步骤3,在文件
    /etc/default/DOCKER
    中添加选项
    DOCKER\u OPTS='-g/var/lib/DOCKER-s deviceapper--storage opt dm.basesize=5G'
    ,然后重新启动DOCKER服务

    sudo服务docker启动

  • 现在,无论您生成什么容器,其磁盘大小都将为20GB

    b、 )作为第二个选项,您可以从已设置的基本磁盘大小中增加现有容器的磁盘大小。(默认情况下为100GB,如果遵循第一个选项,则为20GB)。要做到这一点,这是一篇非常有用的文章,你可以遵循。这可能有助于您为不同的容器设置不同的磁盘大小


    希望这个答案对您的需求有用,谢谢。

    我之前已经和Jérôme Petazzoni谈过这个问题。他说,这个解决方案已被弃用,因此不起作用。我已将该解决方案用于docker 1.9及其工作环境。甚至我也使用此解决方案修改了docker源代码以满足我们的需求,即,在仅创建容器时,我发送容器的磁盘大小,更改其磁盘大小并调整FS大小,它也可以在那里工作。甚至我也看到一些工作将在未来的docker版本中实现类似的方法。如果有帮助的话,你可以遵循这个方法。你有关于这个解决方案的教程或文章吗?听起来很有趣。光盘配额限制是Docker现在非常有趣的一部分!