调整Docker容器的磁盘使用量

时间:2016-05-08 12:55:18

标签: docker docker-image

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

4 个答案:

答案 0 :(得分:7)

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

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

可以在the official docs找到更多信息。

答案 1 :(得分:4)

  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 deamon

    service docker restart

  4. 拉动图片

    docker pull your_image_name

  5. (可选)验证

    docker run -i -t your_image_name /bin/bash

    df -h

  6. 我一直在努力解决这个问题,直到找到这个链接http://www.projectatomic.io/blog/2016/03/daemon_option_basedevicesize/ 事实证明,你必须在放大基础后移除/拉出图像。

答案 2 :(得分:2)

对于使用Mac的用户,这是一个更简单的解决方案: 从状态栏中的Docker图标中单击“首选项”:

enter image description here

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

enter image description here

就是这样。

答案 3 :(得分:0)

正确回答以上建议我们必须编辑devicemapper的 dm.basesize 属性, 但是建议的解决方案已过时或根本无法解决我的情况。

首先请确保您的存储驱动器是具有以下内容的设备映射器:

docker info | grep "Storage Driver"

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

docker info | grep "Base Device Size"

来自devicemapper documentation

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

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

2)重新启动docker deamon

 sudo systemctl stop docker
 sudo systemctl start docker

3)在下面运行再次命令以检查大小是否已更改

docker info | grep "Base Device Size"

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