【发布时间】:2020-08-27 14:10:35
【问题描述】:
我需要一种方法来限制容器的磁盘大小,主要是测试应用程序在磁盘空间不足时的行为方式。我尝试运行的 Docker 容器使用 Linux 映像。棘手的一点是我需要在 Windows 上执行此操作。我知道使用 tmpfs 和其他一些技巧来做到这一点,但它们都不适用于 Windows。我想我可以对我的实际磁盘进行分区并将其共享给容器,但我想避免这种情况以便于重复使用(就像其他人一样)。
我并不真正关心解决方案的工作原理,当然,我更希望通过在 docker 容器内的挂载来完成,这样我就可以只限制数据文件夹,而不是整个容器,而且最好是也可以与 docker-compose 一起使用,但我想这无论如何都非常棘手,所以即使没有它也会有所帮助!
【问题讨论】:
-
在 Windows 上,使用 Docker Windows 映像,使用 Windows 主机内核?或者在 Windows 上,通过 HyperV 使用 Linux VM 内核,使用 Docker Linux 映像,挂载 Linux 卷? (使用 xfs 配额:stackoverflow.com/a/59423525/6309)
-
@VonC 在 Windows 上,使用 Linux 映像。因此,作为 Windows,文件系统是 NTFS。
-
docker run -ti --storage-opt size=20g centos bash或者通过Windows限制Docker挂载文件夹的大小。 -
@BogdanCondurache 因此,您将使用 Linux 虚拟机来访问 Linux 内核来运行您的 Linux Docker 映像。因此,您安装的卷将是基于 Linux 的文件系统,不是 NTFS。
-
@VonC 是的,但我无法对虚拟化 Linux 运行命令。
标签: windows docker docker-compose filesystems tmpfs