docker - 如何在不重新创建新容器的情况下添加 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
我真的不想创建一个新的容器并重做大量的物流。有任何想法吗?
谢谢!
解决方案
看来您无法进一步扩大规模。引用文档:
$ 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
. 这样,除了机器的物理限制之外,您没有任何限制。使用这种方法,您必须重新创建容器。
推荐阅读
- reactjs - Jest 有时找不到模块
- spring-boot - 如何在 Spring Data Redis 2.0.X 中使用带有 Spring Cache Abstraction (RedisCacheManager) 的 Lettuce Async 连接
- sql - Presto SQL - 在条件之后为每行计数 1,之前为负 1
- python - 从列表中产生每个值
- javascript - 如果图像具有某些尺寸,则检索替代 src?
- git - 检索 Git 推送历史?
- java - 导出的文件与eclipse中编译的文件不一样
- firebase-cloud-messaging - 无法获取自定义通知图标以与 FCM 和 Android 一起使用
- android-studio - android.process.acore 已停止并且 :app:installdebug FAILED
- applicative - F* 中的应用函子:类型检查错误