Docker cpu共享和garant最小分配容器

时间:2016-10-05 08:01:45

标签: docker redis docker-compose docker-for-mac

我开发了一个应用程序,它在我的开发盒上运行三个容器,带有一个带有超线程的四核,这意味着系统和docker将使用8个核心。

容器的CPU分配由docker-compose完成,如下所示:

  • redis:cpu_shares:1024
  • mysql:cpu_shares:1024
  • app:cpu_shares:4096

我对使用redis的请求超时感到困扰。负载是最小的,但redis的使用是突发性的,更长的中断,至少在开发环境中。

因此,我假设docker没有为redis容器分配足够的CPU份额。我认为已经在redis上加上一个恒定的人为负载,让docker为它分配更多的CPU份额。

是否有其他方法可以确保容器的某个CPU份额?

1 个答案:

答案 0 :(得分:0)

使用Docker for Mac,您的容器都在HyperKit VM中运行。 VM具有CPU和内存分配,这是Mac上总数的一部分。

您可以更改Preferences中的分配 - 默认情况下,Docker VM有2个CPU和2GB RAM。