这样做很棒,除了当我对应用程序进行docker并部署时,我发现docker类型忽略了极限定义.我已经尝试了以下(所有在主机上,而不是容器本身):
MAX=64000sudo bash -c "echo \"* soft nofile $MAX\" >> /etc/security/limits.conf"sudo bash -c "echo \"* hard nofile $MAX\" >> /etc/security/limits.conf"sudo bash -c "echo \"ulimit -c $MAX\" >> /etc/profile"ulimit -c $MAX
做了一些研究后,我发现人们能够通过这样做来解决类似的问题:
sudo bash -c "echo \"limit nofile 262144 262144\" >> /etc/init/docker.conf"
并重新启动/重新启动码头服务.
但是,以上所有失败:当我的应用程序在容器内运行时,我收到“太多的打开文件”错误(在没有docker的情况下执行以下 *** 作可以解决问题).
我尝试在容器中运行ulimit -a以获取ulimit设置是否正常工作,但是调用容器内的ulimit会引发一个关于ulimit的错误,而不是作为PATH的一部分的可执行文件.
任何人都遇到这种情况,和/或可以建议一种方式让码头工作人员识别出极限?
干杯,
要么
解决方法 我能够通过以下配置来减轻这个问题:我使用ubuntu 14.04 linux作为docker机器和主机.
在主机上您需要:
>更新/etc/security/limits.conf以包含:* – nofile 64000>添加到你的/etc/sysctl.conf:fs.file-max = 64000重启sysctl:sudo sysctl -p
总结以上是内存溢出为你收集整理的linux – Docker忽略limits.conf(试图解决“打开文件太多”错误)全部内容,希望文章能够帮你解决linux – Docker忽略limits.conf(试图解决“打开文件太多”错误)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)