【问题标题】:Docker error: too many open filesDocker错误:打开的文件太多
【发布时间】:2015-04-02 00:33:51
【问题描述】:

我在创建容器时收到该错误消息。

Error response from daemon: too many open files

但我找不到有关该错误的任何信息。 (我看到了https://github.com/docker/libcontainer/issues/211,但这不是同一个问题。) 有谁知道吗?

谢谢。

【问题讨论】:

    标签: docker


    【解决方案1】:

    默认打开文件数限制为1024。您可以通过两种方式增加:

    1. 使用--ulimit参数运行容器:

      docker run --ulimit nofile=5000:5000 <image-tag>
      
    2. --privileged模式运行容器并执行ulimit -n 5000

    您可以找到更多信息here

    【讨论】:

      【解决方案2】:

      在docker systemD服务里面设置ulimit比较方便

      修改/usr/lib/systemd/system/docker.service

      ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock $OPTIONS $DOCKER_STORAGE_OPTIONS $DOCKER_ADD_RUNTIMES --default-ulimit nofile=65535:65535
      

      【讨论】:

        【解决方案3】:

        我不敢相信这个问题还没有得到更好的解决,我在我的 Mac 上使用 Docker 进行了很多开发,所以 Docker 在一个微型 VM 中运行。大约 2 年前我遇到了这个问题,我花了很长时间才找到解决方法,而且我一直都遇到这个问题。我忘记了我在哪里找到了这个“修复”,但是当我重新启动我的 Mac 时,我必须运行它,以便我的容器不会抱怨“打开的文件太多”——如果我忘记运行它,那么它并不总是很明显问题是,确定一个容器会在某处记录错误,但是当您有数十个容器运行并详细记录时,它很难跟踪 - 无论如何,脚本是

        #!/bin/bash
        docker run -ti --privileged centos sysctl fs.inotify.max_user_instances=8192
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-10-03
          • 2010-12-07
          • 1970-01-01
          • 2014-06-23
          • 2016-03-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多