11

每个 Docker 容器都会配置 10 GB 的磁盘空间,这是 CentOS 中 devicemapper 的默认配置。那么如何将每个新创建的容器配置为默认超过 10 GB 的磁盘空间呢?(主机服务器安装了 CentOS 6 和 Docker 1.7.1)

4

4 回答 4

8

是的你可以。dm.basesize启动 Docker 守护程序时使用该属性。例如:

docker daemon --storage-opt dm.basesize=50G ...

更多信息可以在官方文档中找到。

于 2016-05-08T14:31:54.940 回答
7
  1. (可选)如果您已经通过下载任何图像,docker pull您需要先清理它们 - 否则它们将不会调整大小

    docker rmi your_image_name

  2. 编辑存储配置

    vi /etc/sysconfig/docker-storage

    应该有类似的东西DOCKER_STORAGE_OPTIONS="...",把它改成DOCKER_STORAGE_OPTIONS="... --storage-opt dm.basesize=100G"

  3. 重启 docker 守护进程

    service docker restart

  4. 拉取图片

    docker pull your_image_name

  5. (可选)验证

    docker run -i -t your_image_name /bin/bash

    df -h

我一直在努力解决这个问题,直到我发现这个链接http://www.projectatomic.io/blog/2016/03/daemon_option_basedevicesize/ 原来你必须在扩大基本尺寸后删除/拉动图像。

于 2016-09-16T10:22:55.453 回答
2

对于那些使用 Mac 的人,这里有一个更简单的解决方案:从状态栏中的 Docker 图标中单击“Preference”:

在此处输入图像描述

然后导航到“磁盘”选项卡,使用滑块调整磁盘映像大小。Docker 将需要一点时间来重新启动。

在此处输入图像描述

而已。

于 2020-06-14T19:15:48.223 回答
1

上面的答案正确地表明我们必须编辑devicemapper 的dm.basesize属性,但建议的解决方案已经过时或者在我的情况下根本不起作用。

首先确保您的存储驱动程序是一个设备映射器,具有:

docker info | grep "Storage Driver"

您还可以通过以下方式检查容器的当前最大大小:(默认 10 gb)

docker info | grep "Base Device Size"

来自devicemapper 文档

1) 编辑etc/docker/daemon.json文件中的 dm.basesize,如果不存在则新建一个

{
  "storage-opts": [
    "dm.basesize=30G"
  ]
}

2) 重启 docker 守护进程

 sudo systemctl stop docker
 sudo systemctl start docker

3)再次运行下面的命令以检查大小是否改变

docker info | grep "Base Device Size"

4)更新当前图像很重要,以便应用更改

于 2018-09-07T14:50:54.340 回答