【问题标题】:Fail to set ulimit inside docker container无法在 docker 容器内设置 ulimit
【发布时间】:2014-08-16 12:54:50
【问题描述】:

我已经提交了一个新用户名为“user”的 ubuntu 映像 然后我使用以下命令创建容器

 sudo docker run -u=user -ti test1 /bin/bash

我检查了只有两个进程在运行

user@1bc12c468f29:/$ ps
  PID TTY          TIME CMD
   1 ?        00:00:00 bash
   12 ?        00:00:00 ps

但是在我设置之后

ulimit -u 10

我无法创建任何新进程,即使是 ls

user@1bc12c468f29:/$ ulimit -u 10
user@1bc12c468f29:/$ ls
bash: fork: retry: No child processes
bash: fork: retry: No child processes
bash: fork: retry: No child processes
bash: fork: retry: No child processes
bash: fork: Resource temporarily unavailable

ulimit -u 10应该允许10个进程同时运行吗?

【问题讨论】:

  • 感谢您的评论。在那篇文章中,他试图提高极限。但是在我的情况下,我尝试降低限制,它应该可以工作,但结果很奇怪。你的建议似乎没有多大帮助
  • 我猜每个用户都有隐藏的用户进程。你可以试试ulimit 20,它应该可以工作,而且ulimit -u会报告当前号码
  • 感谢您的评论。我认为你是对的。我在这篇文章中得到了更多细节link

标签: docker ulimit


【解决方案1】:

ps 的输出没有给出所有正在运行的进程的列表。它仅提供在您的 TTY 中运行的进程列表。要获取您可以运行的所有正在运行的进程的列表:ps -ef。获取总数:ps -ef|wc -l

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-12
    • 1970-01-01
    • 1970-01-01
    • 2015-04-28
    • 1970-01-01
    • 2019-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多