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 - 在 docker-compose 中设置卷

python - Windows 上的资源限制?

mysql - FD_SETSIZE 和 MySQL 的 Catalina 问题,未读取配置

limit - 如何在 Centos 6.4 x64 上更改 root 用户的限制打开文件

ssl - 将 SSL 与 docker 容器一起使用

macos - Docker 错误 : Error response from daemon: Mounts denied: on OS X

mongodb - Docker容器无法连接MongoDB

c# - c#中到docker容器的连接字符串

linux - 如何一次增加所有 ulimit?

linux - "ulimit -l"是什么意思?