如何更改共享内存文件夹的大小/dev/shm
在 App Engine 灵活应用程序中?
默认情况下,它设置为 64M,太低,无法运行许多应用程序(例如 Chrome)。我看不出有什么办法可以改变它。如果您有权访问,可以通过多种方法进行更改docker运行命令 https://stackoverflow.com/questions/30210362/how-to-increase-the-size-of-the-dev-shm-in-docker-container,但是在启动应用程序引擎灵活应用程序时我们没有这样的访问权限。
A: No.
不幸的是,这对于 appengine 来说还不可能(还?)。不少人都遇到过这个问题。由于某种原因,/dev/shm 的容器默认值非常小。
...但还有其他选择
如果您要运行的进程能够配置它使用的 tmpfs 的位置,那么您可以创建一个临时文件系统 https://cloud.google.com/appengine/docs/flexible/nodejs/configuring-your-app-with-app-yaml#resource-settings并简单地将其指向那里。铬不能做到这一点。
Option 1
如果您想将容器部署到谷歌云,一种选择是使用容器引擎 https://cloud.google.com/container-engine/。然后,您可以将 tmpfs 卷安装到您的 pod,如下所示:
spec:
volumes:
- name: dshm
emptyDir:
medium: Memory
containers:
- image: gcr.io/project/image
volumeMounts:
- mountPath: /dev/shm
name: dshm
Kubernetes 有一个相当陡峭的学习曲线,但它允许您解除 /dev/shm 的限制。
Option 2
有一项新功能可以让您将容器部署到计算引擎 https://cloud.google.com/compute/docs/containers/deploying-containers,但它目前处于 alpha 阶段,您需要申请将您的项目列入白名单才能使用此功能。
Option 3
当然,您可以通过使用以下命令创建 GCE 实例,以更手动的方式将容器部署到 GCE:COS(容器优化操作系统) https://cloud.google.com/container-optimized-os/docs/
从speedplane的评论更新
选项#4
如果目标是在灵活的应用程序引擎上运行完整的浏览器,那么新版本的 Firefox 在 Docker 中以无头方式运行就可以了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)