更改docker运行命令中的ulimit值

我试图安装这个图像…

# docker run -d -p 5601:5601 -p 5000:5000 -p 9200:9200 --ulimit 65536 kenwdelong/elk-docker:latest 

并得到这个错误:

 invalid argument "65536" for --ulimit: invalid ulimit argument: 65536 See 'docker run --help'. 

如果我删除ulimit选项,那么在容器日志中出现以下错误。

 max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] 

根据谷歌,docker-compose.yml文件可以有这样的ulimit子句…

 version: '2' services: elastic: image: elasticsearch environment: - ES_JAVA_OPTS=-Xmx2g -Xms2g ulimits: nofile: soft: 65536 hard: 65536 

我不想使用docker-compose,但在运行命令中需要该function。

使用表单: docker run --ulimit <type>=<soft>:<hard>

所以,对于你的nofile,一个例子是--ulimit nofile=65536:65536

文档:

https://docs.docker.com/engine/reference/commandline/run/#set-ulimits-in-container-ulimit