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 使用 apt-get 构建缓存破坏

python - 无法连接到端点URL: “http://127.0.0.1:8000/”

python - 在 Windows 中限制 python 脚本 RAM 使用

docker - 如何使用--ulimit选项在Docker容器中将POSIX消息队列限制设置为无限制

linux - 限制进程组的CPU时间

.net - 设置 docker MS 构建服务器镜像

linux - 如何将文件从 dockerfile 复制到主机?

linux - 将变量从 makefile 传递到 docker compose 文件?

network-programming - 如何从 golang 程序中设置 ulimit -n?

sockets - 打开比 `ulimit -n` 更多的服务器套接字