blog/docs/tech/Docker-Compose-Limiting-container-resource-usage.md
2024-07-26 02:07:14 +08:00

42 lines
1.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Docker Compose: 限制容器的资源使用
## 修改 docker-compose.yml
限制资源配置字段为 `deploy.resources.limits`,以下是示例 docker-compose.yml
``` yaml title="docker-compose.yml"
version: '3'
services:
umami:
image: docker.umami.dev/umami-software/umami:mysql-latest
deploy:
resources:
limits:
cpus: '0.50'
memory: 500M
reservations:
cpus: '0.25'
memory: 200M
ports:
- "3000:3000"
environment:
DATABASE_URL: mysql://umami:xxx@127.0.0.1:3306/umami
DATABASE_TYPE: mysql
HASH_SALT: replace-me-with-a-random-string
restart: always
network_mode: "host"
```
在以上示例中Umami 容器的 CPU 使用限制在 25%-50%,内存使用限制在 200MB-500MB。
## 修改 docker compose 启动命令
传入参数 `--compatibility` 表示以兼容模式来运行
``` bash
docker compose --compatibility up -d
```
## 参考
[如何在Docker Compose中限制容器的CPU和内存使用](https://blog.xiaoz.org/archives/18729)