【问题标题】:There is not enough space available in tmpfs docker containertmpfs docker 容器中没有足够的可用空间
【发布时间】:2018-05-04 08:02:17
【问题描述】:

我正在运行一个似乎没有足够内存的 docker 容器,我不确定如何解决这个问题。

我实际上是在这个 docker 容器上运行一个程序,它将图像下载到 tmpfs,执行一些操作,删除图像并返回结果。但是,似乎我遇到的图像太大而无法存储在我当前的 docker tmpfs 中。以下是容器内 linux df 命令的输出:

Filesystem      Size  Used Avail Use% Mounted on
overlay          63G   11G   50G  18% /
tmpfs            64M     0   64M   0% /dev
tmpfs           6.9G     0  6.9G   0% /sys/fs/cgroup
/dev/sda1        63G   11G   50G  18% /etc/hosts
shm              64M  4.0K   64M   1% /dev/shm
tmpfs           6.9G     0  6.9G   0% /sys/firmware

我已经尝试扩展 docker 的内存(因此两个 tmpfs 上的值很大),但我仍然遇到这个问题。

我想我有几个问题:

1) 3 个独立的 tmpfs 文件系统有什么区别?它们为什么存在?

2) 大概我需要扩展第一个 tmpfs 大小(较小的)——我将如何去做呢?

最后,一些相关的系统信息:

操作系统 -- OSX

Docker 版本 -- Docker 版本 17.09.0-ce,构建 afdb6d4

如果您还有其他需要了解的信息,请告诉我!

谢谢大家。

【问题讨论】:

    标签: unix docker tmpfs


    【解决方案1】:

    好的,终于找到答案了。我最初的两个问题有点离题。

    基本上,我的 docker 实例没有足够的内存——tmpfs 文件是红鲱鱼。我最终需要将--shm-size="4096m" 参数传递给我的 docker start 命令(将内存增加到 4096 兆字节),以便让我的函数正确执行。希望这对以后的人有所帮助!

    另外,出于谷歌的目的,我得到的确切错误是 There is not enough space available on the shmfs/tmpfs file system. 与 Abbyy FineReader 相关

    【讨论】:

    • 我在 Docker 中遇到了与 Abbyy 相同的问题。除了更改 --shm-size 之外,我还必须安装一个更大的额外 TMPFS 文件系统 (docs.docker.com/engine/reference/run/…)。
    • 有谁知道如何用 docker swarm 做到这一点?
    • Kubernetes 有没有类似的方法?我在 Kubernetes 中遇到了同样的问题。
    • 发现.. Abbyy 使用 /dev/shm。 /dev/shm 中存在空间问题,因此它正在纾困。刚刚在 Kubernetes 容器内的 /dev/shm 上安装了一个磁盘,一切正常
    【解决方案2】:

    如果您使用的是 Kubernetes,那么您需要在 /dev/shm 中有足够的空间。 就我而言,/dev/shm 中没有足够的空间,因此 Abbyy 会在提取元图像之前退出。在给 /dev/shm 一个卷挂载后,它工作正常。希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-11
      • 1970-01-01
      • 2018-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-21
      • 2019-01-21
      相关资源
      最近更新 更多