docker - 如何限制一个docker容器可以看到多少cpu
问题描述
我想知道是否可以限制 docker 容器可以看到的 CPU / 核心数量?例如,如果我通过以下方式启动容器:
docker run --rm -it --cpus=2 ubuntu:20.04
即使我将容器限制为 2,它仍然能够看到我机器上的所有内核(下面的 htop 图像以进行说明)
这会导致分析工作出现问题,其中 OpenBLAS 等库以及几个 Python / R 包(默认情况下)配置为使用机器上的所有内核(在本例中为 6),从而导致进程受到不必要的限制。因此,是否可以配置容器启动,使容器只能看到它可以访问的核心?
解决方案
我认为你不能轻易地从你的 docker 容器中隐藏 CPU,这不是一个虚拟机。
IMO,您最好的选择是深入了解您的库配置以限制其使用的核心数量,或者使用完整的虚拟机。
推荐阅读
- docker - Yii 2 starter kit docker - composer create project - 您的要求无法解决为可安装集.. 遵循文档时
- javascript - 如何从 Xpath Result 中获取 InnerHTML 值
- css - 如何向被调用的 Angular 组件本身添加一个类?
- javascript - 更改事件委托的 currentTarget
- python - tkinter pack 与网格方法:滚动条外观
- c# - 根据枚举值过滤数据
- typescript - 如何访问 TypeScript 函数中的“参数”?
- php - 如何检查对象属性是否显式设置为 NULL
- visual-studio-code - 为什么 VSCode 插入不规则空格而不是正常空格?
- php - 我可以使用 LOAD DATA INFILE 将所有文件数据插入一列吗?