使用DeviceMapper设置光盘配额
我已经将存储插件更改为DeviceMapper
。 Docker info
提供以下输出。
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 docker run
命令中使用flgas吗?
使用devicemapper作为存储插件,不能为每个容器设置磁盘大小。 每个容器的尺寸都是固定的。 而根据docker info
的输出,它表明固定大小将达到100GB左右。 但是,根据您的要求,您可以select以下2个选项之一。
a。)你可以把这个固定的大小从100GB改成20GB等其他的值,但是在这种情况下,所有的容器都会有固定的磁盘大小为20GB。 如果你想用这个选项继续下去,你可以按照下面的步骤操作:
- 停止docker服务,
sudo service docker stop
- 删除现有的docker目录(在你的情况下是默认的一个,即
/var/lib/docker
) – 注意这将删除所有现有的docker图像和容器。 - 使用选项
docker daemon -s devicemapper --storage-opt dm.basesize=20G
启动docker daemon -s devicemapper --storage-opt dm.basesize=20G
-
或者代替步骤3,在文件
/etc/default/docker
DOCKER_OPTS='-g /var/lib/docker -s devicemapper --storage-opt dm.basesize=5G'
添加选项DOCKER_OPTS='-g /var/lib/docker -s devicemapper --storage-opt dm.basesize=5G'
并重新启动docker服务sudo service docker start
现在,无论你将产生什么样的容器,磁盘大小都将达到20GB。
b。)作为第二个选项,您可以从已设置的任何基本磁盘大小增加现有容器的磁盘大小。 (默认是100GB,如果你按照第一个选项,那么20GB)。 要做到这一点, 这是一个非常有用的文章,你可以遵循。 这可能有助于让您为不同的容器设置不同的磁盘大小。
希望这个答案对您的需求是有用的,谢谢。