Docker 运行失败:设备“/dev/ptmx”上没有剩余空间

Docker 运行失败:设备“/dev/ptmx”上没有剩余空间

当我尝试使用交互式终端运行任何 Docker 容器时,出现以下错误:

$ docker run -it --rm my-container
docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: open /dev/ptmx: no space left on device: unknown.

我当前驱动器和安装 Docker 的驱动器上仍有足够的可用空间。到目前为止,我发现的有关此问题的唯一参考资料是在此论坛帖子中,提示伪终端数量超过阈值。我在我的系统上测试了这个:

$ ls /dev/pts | wc -l
756
$ sysctl kernel.pty.max
kernel.pty.max = 4096

我发现伪终端的数量仍然远低于最大值。删除退出的容器也docker system prune无济于事。之后docker system prune,文件数量/dev/pts下降到 751,但问题仍然存在。

问题是什么?如何解决?

  • Docker 版本:20.10.17,内部版本 100c701
  • 系统:Ubuntu 20.04

增加伪终端的最大数量sudo sysctl -w kernel.pty.max=8192确实可以缓解这个问题,但我认为这只会让问题进一步恶化。难道没有更可持续的解决方案来解决这个问题吗?

相关内容