我需要一种方法来限制容器的磁盘大小,主要是测试当磁盘空间不足时应用程序的行为。我尝试运行的Docker容器使用了一个Linux映像。棘手的一点是我需要在Windows上完成。我知道使用tmpfs和其他一些技巧来做到这一点,但它们在Windows上都不起作用。我想我可以对我的实际磁盘进行分区,并将其共享到容器中,但我希望避免这种情况,以便更容易地重复使用(就像其他人一样(。
我真的不在乎这个解决方案是如何工作的,当然,我更喜欢在docker容器内安装一个挂载,这样我就可以只限制数据文件夹,而不是整个容器,而且最好也使用docker compose,但我想这无论如何都很棘手,所以即使没有它也会很有帮助!
您应该能够在有大小限制的情况下装箱(用于Linux映像(
来自docker volume create
:
Linux上的内置本地驱动程序接受类似于Linux mount命令的选项。您可以通过多次传递--opt标志来提供多个选项。一些装载选项(如o选项(可以采用逗号分隔的选项列表。可用装载选项的完整列表可以在此处找到。
例如,下面创建一个名为foo的tmpfs卷,大小为100兆字节,uid为1000。
$ docker volume create --driver local --opt type=tmpfs --opt device=tmpfs --opt o=size=100m,uid=1000 foo
然后您可以在docker-compose.yml
中声明要装入的卷。