简体   繁体   English

套接字失败打开文件过多Docker

[英]socket failed Too many open files error Docker

Within Docker container that I'm running with CentOS 6.6, I'm getting below error: 在我与CentOS 6.6一起运行的Docker容器中,出现以下错误:

2014/12/25 15:09:07 [alert] 319#0: *2030 socket() failed (24: Too many open files) while connecting to upstream, client: 127.0.0.1, server: test.org.au, request: "GET / HTTP/1.0", upstream: "http://127.0.0.1:80/", host: "127.0.0.1"
2014/12/25 15:09:07 [crit] 319#0: *2030 open() "/usr/share/nginx/html/50x.html" failed (24: Too many open files), client: 127.0.0.1, server: test.org.au, request: "GET / HTTP/1.0", upstream: "http://127.0.0.1:80/", host: "127.0.0.1"

Docker version that I'm running on host machine is 1.3.3 我在主机上运行的Docker版本是1.3.3

I tried to set ulimit within the Docker container but I'm getting below: 我试图在Docker容器中设置ulimit,但我得到以下信息:

[root@test ~]# sysctl -p
error: "Read-only file system" setting key "net.ipv4.ip_forward"
error: "Read-only file system" setting key "net.ipv4.conf.default.rp_filter"
error: "Read-only file system" setting key "net.ipv4.conf.default.accept_source_route"
error: "Read-only file system" setting key "kernel.sysrq"
error: "Read-only file system" setting key "kernel.core_uses_pid"
error: "net.ipv4.tcp_syncookies" is an unknown key
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key
error: "Read-only file system" setting key "kernel.msgmnb"
error: "Read-only file system" setting key "kernel.msgmax"
error: "Read-only file system" setting key "kernel.shmmax"
error: "Read-only file system" setting key "kernel.shmall"
error: "Read-only file system" setting key "fs.file-max"

When I try to view the url in the browser I get 500 Internal Server Error. 当我尝试在浏览器中查看URL时,出现500 Internal Server Error。

I'm also running LEMP (Nginx, MySQL and PHP-FPM) stack. 我也在运行LEMP(Nginx,MySQL和PHP-FPM)堆栈。

Does anyone have some suggestions on this issue? 有人对此问题有建议吗?

您可以增加docker服务的打开文件限制,在文件/etc/init.d/docker添加ulimit -n 65536

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM