resource

该选项用来配置资源的限制。每一个资源限制都是一个值。在下面的示例中,redis服务受到限制,内存使用不能超过50M, CPU的处理时间不能超过0.50(单核的百分之五十), 预留了20M的内存和0.25的CPU处理时间。

version: "3.9"
services:
  redis:
    image: redis:alpine
    deploy:
      resources:
        limits:
          cpus: '0.50'
          memory: 50M
        reservations:
          cpus: '0.25'
          memory: 20M

如果服务或容器尝试使用超过系统可用的资源,我们可能会碰到OOM的异常。在这种情况下,一个容器或docker守护进程可能会被内核OOM killer杀死。为了防止这种情况发生,我们需要确保有充足的内存资源供应用运行。

Last updated