docker - 无法减少docker容器内的ulimit

标签 docker ulimit

我想在docker容器中使用ulimit -f来减少限制。 (我强调这一点,因为与此相关的许多问题和答案都涉及增加的限制)。

我有一个写10k文件并报告成功的脚本:

$ perl examples/largefile.pl
Begin
End

我可以使用ulimit -f阻止它按预期运行至完成:
$ ( ulimit -f 5 ; perl examples/largefile.pl )
Begin

不幸的是,在可卡容器中,ulimit -f命令似乎没有任何作用:
$ sudo docker run --rm -i -t -u 1001 -v $PWD:$PWD safe-docker bash
user@08aba80ebaff:/$ cd ...
user@08aba80ebaff:/...$ examples/largefile.pl
Begin
End
user@08aba80ebaff:/...$ ( ulimit -f 5 ; perl examples/largefile.pl )
Begin
End

但请注意ulimit认为它具有效果:
user@08aba80ebaff:/...$ ( ulimit -f; ulimit -f 5; ulimit -f)
unlimited
5

--privileged传递给docker run并没有帮助。

这与我的earlier question有关,但是我想知道从调用方继承限制到docker run,而在这里我想知道在容器内设置限制。

最佳答案

看来这是最近在docker中实现的:https://github.com/docker/docker/issues/4717

关于docker - 无法减少docker容器内的ulimit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25789425/

相关文章:

docker - ulimit 在 ssh session 中不起作用

docker - 在 Dockerfile 中安装 scons 时出现问题——使用 yum 的参数 scons 不匹配

在主机上只读的 Docker 卷

docker - 将文件从主机复制到 docker 容器,然后提交并推送

docker - 可以从Docker中的jenkins服务器在docker容器中配置jenkins从属

linux - lsof 输出大于 ulimit -Hn

php - Docker-Compose 使用 PHP (MySQLi) 连接 MySQL 数据库

mysql - 尽管新连接在负载下失败,但似乎无法达到 MySQL max_connections

linux - ( Node )达到最大文件限制?

MongoDB:软 rlimits 太低。 rlimits 设置为 27774 个进程,64000 个文件。进程数应至少为 32000:文件数的 0.5 倍