比如查看到这样的"docker-compose" 配置:
ulimits:
nofile:
soft: 262144
hard: 262144
比如 "docker run" 有参数:
--ulimit
--sysctl
那么:
1
zhlxsh 199 天前 via iPhone
1. 大胆假设:这个参数是覆盖宿主上默认设置,否则就没用意义了。
2. 小心求证:以 docker run ulimits 搜索,找到文章 https://www.tutorialspoint.com/setting-ulimit-values-on-docker-containers [了解 Docker 中的 ulimit 值] 章节 默认情况下,Docker 容器继承主机系统的 ulimit 值。但是,您可以使用 docker run 命令中的 ulimit 选项覆盖这些值并为容器设置自定义限制。 [在 Docker 容器上设置 ulimit 值的最佳实 ] 章节 选择适合您的应用程序和主机系统上可用资源的 ulimit 值非常重要。设置太低的值可能会限制容器的性能,而设置太高的值可能会影响主机系统的整体性能。 |
2
zhlxsh 199 天前 via iPhone 1
一不小心发出去了,步骤 2 应该是先找理论支持,然后做设计实验观察结果…
|
3
hezhiming1993 OP @zhlxsh
Thanks Docker 这个参数: 存在默认值-->默认值比较小-->一般人不了解不会额外去设置-->传统业务容器化, 可能带来性能或其他损耗 我设想的路径: 默认不限制 , 默认情况下不需要额外设置 --> 等到有需求时才设置 |
4
julyclyde 199 天前
第一,你对“宿主机全局”这个认识就是错的
你需要理解一下 linux 里 rlimit 这个东西是一层层继承下来的,除非有特权,否则下层不可能宽松过上层 |