我正在尝试在docker-compose文件中使用内存和cpu。 我得到以下错误代码:
The Compose file './docker-compose.yml' is invalid because:
Unsupported config option for services.web: 'resources'
我的撰写文件在下面
version: '3'
services:
web:
build: .
volumes:
- "./app:/home"
ports:
- "8080:8080"
resources:
limits:
cpus: '0.001'
memory: 512M
如何在docker-compose中使用cpu,内存
答案 0 :(得分:2)
由于docker compose resources仅在版本3中引入,因此您可能没有使用该版本。
见输出:
docker-compose version
请参阅upgrade guide。
OP使用docker-compose 1.12,它还不支持版本3.
已解决:我在docker-composer文件中使用版本:'2'而不是版本:'3'并且使用
mem_limit
代替resources
答案 1 :(得分:2)
如果您正在使用Docker Compose v.3配置并运行docker-compose up
模式,那么这可能很有用。
这未在docker-compose中的任何位置记录,但您可以在setrlimit
中传递任何有效的系统调用ulimits
选项。
因此,您可以在docker-compose.yaml
ulimits:
as:
hard: 130000000
soft: 100000000
内存大小以字节为单位。超过此限制后,您的进程将获得内存分配异常,您可能会或可能不会陷阱。