Docker怎么设置ulimit参数


我在使用Dockerfile生成haproxy镜像后,启动haproxy时提示ulimit -n 太小,必须加大才能启动,请问怎么在Dockerfile里设置ulimit大小,我的主机设置的ulimit -n 为20400,而容器里面还是1024,该怎么办,望大师帮忙解决。谢谢。
已邀请:

wangzi19870227 - sina攻城狮,docker爱好者

赞同来自: hello_liuyi Georce


docker 1.6+ ulimit用法:
--default-ulimit,docker daemon的启动参数,能够指定默认container ulimit配置;
--ulimit,docker run的参数,能够覆盖docker daemon指定的ulimit默认值;

default-ulimits
setting-ulimits-in-a-container

Kevin.wang - sre

赞同来自: wangzi19870227


在docker 1.6之前,Docker容器的ulimit设置,继承自docker daemon。在很多时候,对于单个容器来说,这样的ulimit实在是太高了。在Docker 1.6里,可以设置全局默认的ulimit:

docker -d --default-ulimit nproc=1024:2048

docker -d --default-ulimit nofile=20480:40960 nproc=1024:2048

或者在启动容器时,单独对其ulimit进行设置:

docker run -d --ulimit nofile=20480:40960 nproc=1024:2048 gitlab

benpao

赞同来自:


[root@Docker ~]# docker --help | grep ulimit
--default-ulimit=[] Set default ulimits for containers

[root@Docker ~]# docker --version
Docker version 1.6.2, build ba1f6c3/1.6.2

要回复问题请先登录注册