首页 > 解决方案 > 如何在不重新创建新容器的情况下添加 docker 磁盘空间?

问题描述

我最近了解到 docker 容器的磁盘限制,在我的系统上是 50GB。我想知道是否有一种方法可以提高同一容器的磁盘限制,而无需创建新容器。

我这样创建了容器:

nvidia-docker run -dit -v host_dir:docker_local_dir -p 5000:8080 --name  Test_Container --privileged Test_Image /bin/bash

从容器中分离后(可能是个坏主意!),我无法再附加它了:

$nvidia-docker exec -it Test_Container /bin/bash
Error response from daemon: Container ada1..230032 is not running

我真的不想创建一个新的容器并重做大量的物流。有任何想法吗?

谢谢!

标签: docker

解决方案


看来您无法进一步扩大规模。引用文档

$ sudo dockerd --storage-opt dm.basesize=50G

这会将基本设备大小增加到 50G。如果现有的基本设备大小大于 50G,Docker 守护程序将抛出错误。用户可以使用此选项扩展基本设备大小,但不允许缩小。

为了克服这个问题,您应该做的是将容器的特定文件夹映射到主机操作系统中的某个位置,您知道该文件夹的大小会变大(正如您在命令中所做的那样)。你可以这样做:

docker run -v /host/path/tmp:container/path/tmp

你说应该保存的所有东西都应该container/path/tmp保存在/host/path/tmp. 这样,除了机器的物理限制之外,您没有任何限制。使用这种方法,您必须重新创建容器。


推荐阅读