【问题标题】:Allow docker to utilize the complete CPUs and underlying RAM允许 docker 使用完整的 CPU 和底层 RAM
【发布时间】:2020-12-06 13:44:44
【问题描述】:

有没有办法指定 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:test@abc.net/default_default?retryWrites=true&w=majority'

【问题讨论】:

    标签: linux docker docker-compose docker-machine prisma


    【解决方案1】:

    你问的是默认行为。

    来自docs

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

    要确保容器获得最少的资源并且不受调度程序的支配,您可以采取的措施是使用资源reservations 来确保容器始终拥有最少的所需资源,如果您还需要,还可以选择limits强制资源使用上限。

    见Resources section in docs

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多