我们已经创建了一个默认大小为10GB的Docker镜像,并加载了Cassandra数据,现在它已满,意味着没有空间了。有人能告诉我们如何将Docker容器大小从10GB增加到40GB,而不会丢失现有的数据吗?
使用最新版本的Docker应该可以解决您的问题。修复问题#14678
当前默认基础大小为10G。将其更改为100G。原因是对于一些人来说,10G太小了,我们没有能力动态增长它。
这只是过度承诺,并且在容器实际写入数据之前不会分配任何真正的空间。这与基于fs的图形驱动程序没有区别,其中容器根的虚拟大小是无限的。
签名:Vivek Goyal vgoyal@redhat.com
(可选)如果您已经通过 docker pull
下载了任何镜像,则需要先清理它们 - 否则它们将无法调整大小
docker rmi your_image_name
编辑存储配置文件
vi /etc/sysconfig/docker-storage
应该有类似于 DOCKER_STORAGE_OPTIONS="..."
的内容,将其更改为 DOCKER_STORAGE_OPTIONS="... --storage-opt dm.basesize=100G"
重新启动docker守护进程
service docker restart
拉取镜像
docker pull your_image_name
(可选)验证
docker run -i -t your_image_name /bin/bash
df -h
> # 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
docker info
下面。 - Adrian Mouat