Docker容器不会从主机inheritanceulimit

我已经在这里读到docker容器从主机inheritanceulimit属性。 这似乎不会发生我的容器。 特别是,我需要max locked memory属性从主机inheritance。 有谁知道如何修理它?

 ubuntu@host:~$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 31404 max locked memory (kbytes, -l) unlimited max memory size (kbytes, -m) unlimited open files (-n) 50000 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 50000 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited ubuntu@host:~$ docker exec -it container /bin/bash root@container:/# ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 31404 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 524288 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 524288 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited 

如果要为容器设置自定义ulimits,则可以使用--ulimit选项。 例如;

 docker run -it --rm --ulimit memlock=32768:32768 ubuntu sh -c "ulimit -a" 

显示:

 time(seconds) unlimited file(blocks) unlimited data(kbytes) unlimited stack(kbytes) 8192 coredump(blocks) 0 memory(kbytes) unlimited locked memory(kbytes) 32 process 7873 nofiles 1024 vmemory(kbytes) unlimited locks unlimited 

您可以在文档中find更多信息。 https://docs.docker.com/engine/reference/commandline/run/

有关限制容器资源的其他方法,也请参阅本节; https://docs.docker.com/engine/reference/run/#runtime-constraints-on-resources