如何增加 Azure 容器实例的共享内存 (dev/shm)?

How to increase shared memory (dev/shm) of Azure Container Instance?

我运行将 Selenium 独立 Firefox 作为 Azure 容器实例。为了解决运行ning量角器测试"failed to decode response from marionette"时经常出现的错误,我需要增加容器的共享内存。

无法将它作为参数传递给我在管道中使用的 az container create 命令。

我尝试将其作为命令行脚本传递,以便在部署容器后执行 --command-line "/bin/sh -c 'sudo mount -o remount,size=2G /dev/shm'" 但它不起作用,因为容器是只读的,不幸的是,根据 https://feedback.azure.com/forums/602224-azure-container-instances/suggestions/33870166-aci-support-for-privileged-container 不可能 运行 特权模式下的容器实例允许写入模式。

你有什么想法吗? 谢谢, 玛格达

这不受支持并且很难支持,因为它会给 VM 运行 不同的容器组带来很多风险。

底层 memory/CPU 与其他用户共享,允许额外的 /DEV/SHM 可能会隐藏容器的实际内存使用情况,从而影响现在相同的其他容器 运行。

此请求已在过去提出。见下文。

https://feedback.azure.com/forums/602224-azure-container-instances/suggestions/37442194-allow-specifying-the-size-of-the-dev-shm-filesyst

我建议查看 Kubernetes 替代方案,它支持中等类型的 emptyDir:memory,这将根据您的需要创建正确的临时目录。

you can set the emptyDir.medium field to "Memory" to tell Kubernetes to mount a tmpfs (RAM-backed filesystem) for you instead. While tmpfs is very fast, be aware that unlike disks, tmpfs is cleared on node reboot and any files you write will count against your Container’s memory limit.

https://kubernetes.io/docs/concepts/storage/volumes/#emptydir