Docker和闲置的容器资源消耗

假设你有两个Docker容器(分别是两个微服务),每个10GB RAM,每个承受1000rps的负载。 在某些时候,你在第一个容器(microservice)上有1900 rps,在第二个微服务(container)上有100 rps。

Docker或Docker Swarm足够聪明,不会浪费为第二个微服务(Docker容器)分配的10 GB内存?

没有设置约束,Docker只是使用主机可用的内存。 这样可以满足上面的用例,如果一个微服务突然使用15GB内存总共16GB的内存,Docker就可以了。 这可能会导致问题。

为了减轻OOM的情况,可以使用--memory标志设置每个正在运行的容器的硬限制,或者使用--memory-reservation标志设置软限制。

请参阅资源限制文档以获取完整分类。