tmpfs docker容器中没有足够的可用空间

Pet*_*lan 4 unix tmpfs docker

我正在运行一个似乎内存不足的Docker容器,但不确定如何解决此问题。

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

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
Run Code Online (Sandbox Code Playgroud)

我曾尝试扩展docker的内存(因此两个tmpfs都有巨大的值),但我仍然遇到这个问题。

我想我有几个问题:

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

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

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

操作系统-OSX

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

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

感谢大家。

Pet*_*lan 5

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

本质上,我的docker实例没有足够的内存-tmpfs文件是红色鲱鱼。我最终需要向--shm-size="4096m"我的docker start命令传递一个参数(将内存增加到4096 MB),以允许我的函数正确执行。希望这可以帮助某人!

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

  • 我在Docker中遇到了与Abbyy相同的问题。除了更改--shm-size之外,我还必须安装一个更大的附加TMPFS文件系统(https://docs.docker.com/engine/reference/run/#tmpfs-mount-tmpfs-filesystems)。 (2认同)