docker run 的容器,为什么有一个 ulimit 的配置选项?

230 天前
 hezhiming1993

比如查看到这样的"docker-compose" 配置:

ulimits:
      nofile:
        soft: 262144
        hard: 262144

比如 "docker run" 有参数:

--ulimit
--sysctl

那么:

1062 次点击
所在节点    Docker
4 条回复
zhlxsh
230 天前
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 值非常重要。设置太低的值可能会限制容器的性能,而设置太高的值可能会影响主机系统的整体性能。
zhlxsh
230 天前
一不小心发出去了,步骤 2 应该是先找理论支持,然后做设计实验观察结果…
hezhiming1993
230 天前
@zhlxsh
Thanks

Docker 这个参数: 存在默认值-->默认值比较小-->一般人不了解不会额外去设置-->传统业务容器化, 可能带来性能或其他损耗

我设想的路径: 默认不限制 , 默认情况下不需要额外设置 --> 等到有需求时才设置
julyclyde
230 天前
第一,你对“宿主机全局”这个认识就是错的

你需要理解一下 linux 里 rlimit 这个东西是一层层继承下来的,除非有特权,否则下层不可能宽松过上层

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1037859

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX