Docker 容器资源计算器
指导
Docker 容器资源计算器
Quickly calculate recommended CPU and memory resource limits for Docker containers and Kubernetes deployments. Select a workload type, enter your host resources, and get precise values for Docker run flags and Kubernetes resource manifests — no guesswork required.
如何使用
- Select a workload type (web server, database, cache, ML inference, or custom)
- Enter your host CPU cores 和 RAM in GB
- Set the number of containers to split resources across
- View the calculated resource table, Docker run command, and Kubernetes YAML
特征
- Workload Presets – Built-in resource profiles for common workloads: web server, background worker, database, cache, and ML inference
- Custom Mode – Define your own CPU and memory request/limit values
- Multi-Container Splitting – Automatically divides host resources across multiple containers
- 容量警告 – Alerts you when total resource limits exceed host capacity
- Docker 运行标志 – Generates ready-to-use –memory and –cpus flags
- Kubernetes YAML – Outputs resources.requests and resources.limits in YAML format with millicores
- Auto-Calculate – Results update instantly as you change inputs
常问问题
-
What is the difference between resource requests and limits in Kubernetes?
Resource requests define the minimum resources a container needs to be scheduled on a node. Limits define the maximum resources a container can use. If a container exceeds its memory limit, it gets killed (OOMKilled). If it exceeds CPU limits, it gets throttled.
-
How do Docker --memory and --cpus flags work?
The --memory flag sets a hard memory limit for the container. If the process inside tries to use more, Docker kills it. The --cpus flag limits how much CPU time the container can use — for example, --cpus=0.5 means the container can use 50% of one CPU core.
-
What are millicores in Kubernetes?
Millicores are a way to express fractional CPU resources. 1 CPU core equals 1000 millicores (1000m). So 250m means 25% of one CPU core. This allows fine-grained resource allocation for containers that don't need a full core.
-
Why should I set resource limits on containers?
Without resource limits, a single container can consume all available host resources, starving other containers. Setting limits ensures fair resource distribution, prevents out-of-memory crashes from affecting the host, and is required for Kubernetes Quality of Service (QoS) classes.
