在容器引擎上定义/ dev / shm的大小

时间:2017-09-06 23:36:23

标签: docker google-cloud-platform google-kubernetes-engine kubectl

我在Debian 8上运行带有xvfb的Chrome。它一直有效,直到我打开一个标签并尝试加载内容。这个过程无声地死去......

幸运的是,我已经使用docker run --shm-size=1G在本地码头上顺利运行。

当{dev / shm太小时,有a known bug in Chrome导致它崩溃。

我正在部署到Container引擎,并检查操作系统规范。主机操作系统有一个固定的7G安装到/ dev / shm,但实际的容器只分配了64M。 Chrome崩溃。

使用kubectl部署到容器引擎时如何设置/ dev / shm的大小?

2 个答案:

答案 0 :(得分:40)

emptyDir挂载到/ dev / shm并将介质设置为Memory就可以了!

spec:
  volumes:
  - name: dshm
    emptyDir:
      medium: Memory
  containers:
  - image: gcr.io/project/image
    volumeMounts:
      - mountPath: /dev/shm
        name: dshm

答案 1 :(得分:-3)

public static async Task Run(
    [ServiceBusTrigger("topicname", "subname", AccessRights.Manage, Connection = "TopicConnection")]string message,
    TraceWriter log)
{
    try
    {
        log.Info($"C# ServiceBus topic trigger function processed message: {message}");
        await PushToDb(message, log);
    }
    catch(Exception ex)
    {
        log.Info($"Exception found {ex.Message}");
    }
}

在本地运行容器

docker run --cap-add=SYS_ADMIN --shm-size 2G --name chrome chrome-hd

用于调整shm可用大小。