docker-compose down failed:太多打开的文件

时间:2018-01-08 12:57:00

标签: docker docker-compose

我在生产服务器中使用docker-compose。在我的部署过程中,我运行docker-compose down,部署应用程序并运行docker-compose up。但是,当我docker-compose down时,它会返回类似的内容:

ERROR: for ubuntu_php_run_1105  ('Connection aborted.', error(24, 'Too many open files'))

ERROR: for ubuntu_php_run_821  ('Connection aborted.', error(24, 'Too many open files'))

ERROR: for ubuntu_php_run_820  ('Connection aborted.', error(24, 'Too many open files'))

如果我多次手动运行此命令,最终会成功,但我需要修复它,因为此错误会导致部署过程失败。

2 个答案:

答案 0 :(得分:0)

它似乎超过open file descriptor的最大container,尝试使用ulimitsnofile来增加打开文件的最大数量。

例如,

ulimits:
  nofile:
    soft: 98304
    hard: 98304

对于命令行

--ulimit nofile=98304:98304

答案 1 :(得分:0)

我想通了......我在后台运行一些工作我使用docker-compose run [service] [command],每次运行时都会创建一个新的docker容器而不会被杀死。当我尝试docker-compose down时,有很多容器和停靠者停止了。

要解决我在--rm中添加了docker-compose标志,这样当命令完成后,删除了变容器:

docker-compose run --rm [service] [command]