Docker组成文件内存,cpu限制

时间:2017-04-25 03:52:32

标签: docker docker-compose

我正在尝试在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,内存

2 个答案:

答案 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

内存大小以字节为单位。超过此限制后,您的进程将获得内存分配异常,您可能会或可能不会陷阱。