0

我已将存储插件更改为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 run我应该在命令中使用 flgas吗?

4

1 回答 1

0

使用 devicemapper 作为存储插件,您不能设置每个容器的磁盘大小。每个容器的大小都是固定的。并且根据docker info它的输出表明固定大小约为 100GB。但是,根据您的要求,您可以选择以下 2 个选项之一。

a.) 您可以将此固定大小从 100GB 更改为其他值,例如 20GB,但在这种情况下,所有容器的固定磁盘大小都会为 20GB。如果您想继续使用此选项,您可以按照以下步骤操作:

  1. 停止泊坞窗服务,sudo service docker stop

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

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

  4. 或者代替第 3 步,DOCKER_OPTS='-g /var/lib/docker -s devicemapper --storage-opt dm.basesize=5G'在文件中添加选项/etc/default/docker并重新启动 docker 服务

    sudo service docker start

现在,无论你生成什么容器,磁盘大小都为 20GB。

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

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

于 2016-01-21T07:54:13.813 回答