如何更改App Engine灵活应用中共享内存文件夹/dev/shm
的大小?
默认情况下,它设置为64M,太低而无法运行许多应用(例如,chrome)。我认为没有办法改变它。如果您有权访问docker run command,可以通过多种方式进行更改,但在启动应用引擎灵活的应用时,我们无法获得此类访问权限。
答案 0 :(得分:2)
这是我从Google支持小组(支持ID 13757624)收到的答案:
我知道您有查询是否可以增加 App Engine Flex中/ dev / shm的大小。
不幸的是,这是不可能的。由于Flex是管理VM的 保持默认值。您可以尝试手动创建命令 在您的dockerfile上通过'sudo'更改共享缓存但是有 不能保证所以我不能说它可能会起作用,仍然值得一试 尝试给你使用自定义运行时,否则,没有 其他方式。
答案 1 :(得分:2)
答:否。
不幸的是,这是不可能的(但是?)与appengine。不止一些人遇到过这个问题。出于某种原因,/ dev / shm的容器默认值很小。
...但还有其他选项
如果您要运行的进程能够配置它使用的tmpf的位置,那么您可以create a tmpfs并将其指向那里。 Chromium无法做到这一点。
选项1
如果要将容器部署到Google云端,可以选择使用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的限制。
选项2
有一项新功能可让您deploy containers to compute engine,但它目前处于Alpha状态,您需要申请将您的项目列入白名单才能使用此功能。
选项3
当然,您可以使用COS (container optimized os)
创建GCE实例,以更加手动的方式将容器部署到GCE从speedplane的评论更新
选项#4
如果目标是在app引擎上灵活地运行完整的浏览器,那么新版本的Firefox在Docker中运行就好了。