Docker 占用更多高清内存

Docker consuming more HD memory

我在 docker 1.10.3 中有一个播放应用程序和 运行。我们正在以每秒 1000 个请求访问此应用程序以进行负载测试。应用程序工作正常。我们看到 Docker 消耗了大量的 HD 内存。在 3 天内,docker 从 2.2gb 消耗到 39gb。这让我们很担心。

Docker INFO 和已消耗 space 突出显示

有没有设置docker不占用HD内存的? 任何帮助将不胜感激。

Docker 捕获应用程序的标准输出 (STDOUT) 并将其(默认情况下)存储在内部日志文件中。您可以在 /var/lib/docker/containers/$CONTAINER_ID/$CONTAINER_ID-json.log 找到该文件。此文件默认不旋转,如果您的应用程序详细打印到 STDOUT,该文件可能会变大。

两种可能的解决方案:

  1. 为 Docker 日志文件配置日志轮换。我发现 good article here 描述了如何通过创建具有以下内容的文件 /etc/logrotate.d/docker-container 为 Docker 启用日志轮换:

    /var/lib/docker/containers/*/*.log {
      rotate 7
      daily
      compress
      size=1M
      missingok
      delaycompress
      copytruncate
    }
    

    您可以尝试这些选项。它们都记录在 logrotate's man page.

  2. 通过在创建容器时指定 --log-driver 选项,为您的容器使用备用日志记录:

    $ docker run --log-driver=syslog your_image
    

    the official documentation 中记录了可用的驱动程序。例如,您可以使用 --log-driver=syslog 来使用系统的系统日志守护程序,针对各种云服务或使用 --log-driver=none.

  3. 完全禁用日志记录