docker集装箱内不能减lessulimits

我想在docker容器中使用ulimit -f减less限制。 (我强调这个问题的答案很多,这涉及到越来越多的限制)。

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

 $ perl examples/largefile.pl Begin End 

我可以防止它运行到完成,如预期的那样,用ulimit -f

 $ ( ulimit -f 5 ; perl examples/largefile.pl ) Begin 

不幸的是,在一个cocker容器中, 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如何ulimit它有效果:

 user@08aba80ebaff:/...$ ( ulimit -f; ulimit -f 5; ulimit -f) unlimited 5 

通过 – --privilegeddocker run没有帮助。

这与我先前的问题有关 ,但是我在那里想知道从调用者inheritancedocker run限制,而在这里我想知道在容器内设置限制。

看来这是最近在docker执行: https : //github.com/docker/docker/issues/4717