限制Windows上的Docker容器磁盘大小
我需要一种限制容器磁盘大小的方法,主要是测试应用程序在磁盘空间不足时的行为。我尝试运行的Docker容器使用Linux映像。棘手的一点是,我需要在Windows上完成它。我知道如何使用tmpfs和其他一些技巧来实现这一点,但它们都不能在Windows上工作。我想我可以将我的实际磁盘分区,并将其共享到容器中,但我希望避免这样做,以便于重复使用(就像其他人一样)限制Windows上的Docker容器磁盘大小,windows,docker,docker-compose,filesystems,tmpfs,Windows,Docker,Docker Compose,Filesystems,Tmpfs,我需要一种限制容器磁盘大小的方法,主要是测试应用程序在磁盘空间不足时的行为。我尝试运行的Docker容器使用Linux映像。棘手的一点是,我需要在Windows上完成它。我知道如何使用tmpfs和其他一些技巧来实现这一点,但它们都不能在Windows上工作。我想我可以将我的实际磁盘分区,并将其共享到容器中,但我希望避免这样做,以便于重复使用(就像其他人一样) 我真的不在乎解决方案如何工作,当然,我更喜欢在docker容器中安装,这样我就可以只限制数据文件夹,而不是整个容器,也可以更好地使用doc
我真的不在乎解决方案如何工作,当然,我更喜欢在docker容器中安装,这样我就可以只限制数据文件夹,而不是整个容器,也可以更好地使用docker compose,但我想这是相当棘手的,所以即使没有它也会很有帮助 您应该能够装箱一个有大小限制的卷(用于Linux映像)。
发件人: Linux上的内置本地驱动程序接受与Linux mount命令类似的选项。通过多次传递--opt标志,可以提供多个选项。某些装载选项(如o选项)可以采用逗号分隔的选项列表。可在此处找到可用装载选项的完整列表 例如,下面创建了一个名为foo的tmpfs卷,其大小为100 MB,uid为1000
$docker卷创建--驱动程序本地\
--opt类型=tmpfs\
--opt设备=tmpfs\
--opt o=尺寸=100m,uid=1000\
福
然后,您可以声明要装入的卷。您应该能够装箱一个有大小限制的卷(用于Linux映像)。
发件人: Linux上的内置本地驱动程序接受与Linux mount命令类似的选项。通过多次传递--opt标志,可以提供多个选项。某些装载选项(如o选项)可以采用逗号分隔的选项列表。可在此处找到可用装载选项的完整列表 例如,下面创建了一个名为foo的tmpfs卷,其大小为100 MB,uid为1000
$docker卷创建--驱动程序本地\
--opt类型=tmpfs\
--opt设备=tmpfs\
--opt o=尺寸=100m,uid=1000\
福
然后,您可以使用Windows主机内核,使用Docker Windows映像在Windows上声明要装入的卷。?或者在Windows上,通过HyperV使用Linux VM内核,使用Docker Linux映像,装载Linux卷?(使用xfs配额:)@VonC在Windows上,使用Linux映像。因此,作为Windows,文件系统是NTFS。
docker run-ti--storage opt size=20g centos bash
或通过Windows限制docker mount文件夹的大小。@bogdancondurace因此您将使用Linux虚拟机来访问Linux内核以运行Linux docker映像。因此,您装入的卷将是基于Linux的文件系统,而不是NTFS。@VonC是的,但我无法对虚拟化Linux运行命令。在Windows上,使用Docker Windows映像,使用Windows主机内核?或者在Windows上,通过HyperV使用Linux VM内核,使用Docker Linux映像,装载Linux卷?(使用xfs配额:)@VonC在Windows上,使用Linux映像。因此,作为Windows,文件系统是NTFS。docker run-ti--storage opt size=20g centos bash
或通过Windows限制docker mount文件夹的大小。@bogdancondurace因此您将使用Linux虚拟机来访问Linux内核以运行Linux docker映像。因此,您装入的卷将是一个基于Linux的文件系统,而不是NTFS。@VonC是的,但我无法对虚拟化的Linux运行命令。使用tmpfs在Windows或Mac计算机上不起作用,正如其文档中所述,它只适用于Linux。@Bogdancondurace因此您需要使用Linux VM,因为它们在Windows 10上可用(假设您使用的是最新的Windows 10)使用tmpfs在Windows或Mac计算机上不起作用,它仅适用于Linux,如其文档中所述。@BogdanCondurace因此您需要使用Linux VM,因为它们在Windows 10上可用(假设您使用的是最新的Windows 10)