【发布时间】:2020-10-29 14:08:46
【问题描述】:
我正在开发一个项目,该项目同时运行一个包含 4 个进程的容器。我的计算机没有足够的内存和 CPU 来运行所有这些。所以我发现自己需要限制每个进程使用的资源。
当我运行docker stats 时,我得到以下输出:
如您所见,所有进程的内存上限设置为 7.628 Gib,这是我的计算机中的所有内存,在我截取屏幕截图时 CPU 很低,但在我使用我的应用程序时它会达到峰值。
我目前在我的 bash 中使用别名和以下命令来限制单个容器的资源:
docker update --memory-swap=-1 --cpus=2 --memory 4g
所以每次我运行docker-compose up 的时候,我都得一一限制每个容器的资源,这真的很烦人。
我的问题是:有没有办法让它在系统范围内运行一次,以便我在本地机器上运行的所有容器都以相同的资源限制运行?或者,是否有一个命令可以一次将这些限制应用于所有容器?
我正在使用 Ubuntu 20
我提前感谢任何帮助。
【问题讨论】:
标签: linux docker docker-compose dockerfile