允许docker使用完整的CPU和底层RAM

问题描述 投票:0回答:1

有没有办法指定docker可以使用的总RAM和总CPU?我的机器大小为 16 GB RAM 和 4 个 CPU。如何使 docker-machine 能够利用完整的 RAM 和底层 CPU?

version: '3'
services:
prisma:
    image: prismagraphql/prisma:1.34
    restart: always
    ports:
    - "4466:4466"
    environment:
    JAVA_OPTS: '-Xmx8192m'
    PRISMA_CONFIG: |
        port: 4466
        databases:
        default:
            connector: mongo
            uri: 'mongodb+srv://abc:[email protected]/default_default?retryWrites=true&w=majority'
linux docker docker-compose docker-machine prisma
1个回答
1
投票

您所要求的是默认行为。

来自文档

默认情况下,容器没有资源限制,并且可以在主机的内核调度程序允许的情况下使用尽可能多的给定资源。

为了确保容器获得最少量的资源并且不受调度程序的支配,您可以做的是使用资源

reservations
来确保容器始终具有所需的最少资源,并且如果您也想强制执行,则可以选择
limits
资源使用上限。

请参阅文档中的资源部分

version: "3.8"
services:
  redis:
    image: redis:alpine
    deploy:
      resources:
        # upper threshold
        limits:
          cpus: '0.50'
          memory: 50M
        # lower threshold
        reservations:
          cpus: '0.25'
          memory: 20M

在这个一般示例中,Redis 服务被限制使用不超过 50M 的内存和 0.50(单核的 50%)可用处理时间(CPU),并保留 20M 内存和 0.25 CPU 时间(一如既往)可用)。

© www.soinside.com 2019 - 2024. All rights reserved.