有没有办法指定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'
您所要求的是默认行为。
来自文档
默认情况下,容器没有资源限制,并且可以在主机的内核调度程序允许的情况下使用尽可能多的给定资源。
为了确保容器获得最少量的资源并且不受调度程序的支配,您可以做的是使用资源
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 时间(一如既往)可用)。