如何增加Docker容器的默认大小?

时间:2015-06-23 05:48:20

标签: docker

我们已经创建了默认大小为10GB的docker镜像,我们已经加载了cassandra数据,现在它已经填满,意味着没有空间。任何人都可以告诉如何在不丢失现有数据的情况下将docker容器大小从10GB增加到40GB。

3 个答案:

答案 0 :(得分:3)

我认为不可能(没有丢失数据)。以下是扩大基数的方法:

  1. (可选)如果您已经通过Caused by: java.lang.RuntimeException: Error occurred while publishing artifact to Artifactory: ...file-SNAPSHOT.msi. 下载了任何图片,则需要先清除它们 - 否则它们将不会调整大小

    docker pull

  2. 编辑存储配置

    docker rmi your_image_name

    应该有vi /etc/sysconfig/docker-storage之类的内容,将其更改为DOCKER_STORAGE_OPTIONS="..."

  3. 重启docker deamon

    DOCKER_STORAGE_OPTIONS="... --storage-opt dm.basesize=100G"

  4. 拉动图片

    service docker restart

  5. (可选)验证

    docker pull your_image_name

    docker run -i -t your_image_name /bin/bash

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

答案 1 :(得分:2)

使用devicemapper的Docker容器的默认基础大小已从10GB更改为100GB。这是指向corresponding pull request in github的链接。

  

修正问题#14678

     

目前的默认基数为10G。将其更改为100G。原因是为了   有些人10G变得太小而我们没有能力   以动态的方式发展它。

     

这只是过度使用,直到容器才分配真实空间   实际上写数据。这与基于fs的图形驱动器没有什么不同   其中容器根的虚拟大小是无限的。

     

签名:Vivek Goyal vgoyal@redhat.com

使用最新版本的docker可以解决您的问题。

答案 2 :(得分:1)

在CentOS 7.7上的Docker Engine 19.03.6中:

我通过以下步骤解决了这个问题:

# systemctl enable docker

# systemctl stop docker

# rm -rf /var/lib/docker

# vim /etc/systemd/system/multi-user.target.wants/docker.service

>     # Add storage option    
>     ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --storage-opt dm.basesize=20G

# systemctl daemon-reload

# systemctl start docker