tmpfs docker container

时间:2017-11-21 00:12:19

标签: unix docker tmpfs

我正在运行一个似乎没有足够内存的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' s上有巨大的价值),但我仍然遇到这个问题。

我想我有几个问题:

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

2)据推测,我需要扩展第一个tmpfs大小(小的) - 我将如何做到这一点?

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

OS - OSX

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

让我知道您是否还需要了解其他内容!

谢谢大家。

2 个答案:

答案 0 :(得分:4)

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

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

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

答案 1 :(得分:0)

如果使用Kubernetes,则/ dev / shm中需要足够的空间。 在我的情况下,/ dev / shm中没有足够的空间,因此Abbyy将在提取元图像之前进行纾困。给/ dev / shm进行卷装载后,它可以正常工作。希望这会有所帮助!