一:通过docker run –ulimit 参数设置这个容器的 ulimit 值
如
1 | docker run --ulimit nofile=1024:1024 --rm debian sh -c "ulimit -n" |
官网说明:
https://docs.docker.com/engine/reference/commandline/run/#set-ulimits-in-container—ulimit
二: 修改 docker 服务的 默认设置
vim /usr/lib/systemd/system/docker.service
1 2 3 4 | [Service] LimitNOFILE=1048576 LimitNPROC=1048576 LimitCORE=infinity |
systemctl daemon-reload
systemctl restart docker
文档: https://blog.youkuaiyun.com/signmem/article/details/51365006
- 注释 设置为 infinity 时,值为 65536 ,如 LimitNOFILE=infinity,ulimit -n 值为 65536
三 : daemon.json 文件中配置
vim /etc/docker/daemon.json
1 2 3 4 5 6 7 8 9 | {
"default-ulimits": {
"nofile": {
"Name": "nofile",
"Hard": 64000,
"Soft": 64000
}
}
}
|
systemctl restart docker
文档 https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file
- 注释: daemon.json 和 docker.service 两个都配置 ,daemon.json 中的配置生效。
本文介绍了如何调整Docker容器的资源限制,包括通过`docker run`命令的`--ulimit`参数设置文件描述符`nofile`的上限,修改`docker.service`文件以更改Docker服务的默认限制,以及在`daemon.json`配置文件中设定默认的ulimit值。这些方法可以帮助优化容器的性能和稳定性。
2135

被折叠的 条评论
为什么被折叠?



