Я пытаюсь использовать память и процессор в файле docker-compose.

Я получаю код ошибки ниже:

The Compose file './docker-compose.yml' is invalid because: 
Unsupported config option for services.web: 'resources'

Мой docker-compose.yml файл находится ниже

version: '3'
services:
    web:
        build: .
        volumes:
            - "./app:/home"
        ports:
            - "8080:8080"       
        resources:
            limits:
                cpus: '0.001'
                memory: 512M

Как я могу использовать процессор, память с в docker-compose?

5
Adnan Bilaç 25 Апр 2017 в 06:52

2 ответа

Лучший ответ

Ресурсы создания докеров были представлены в формате файла версии 3, для которого требуется докер- составьте 1.13 или новее. Скорее всего, вы используете более старую версию. Проверьте вывод:

docker-compose version

См. руководство по обновлению.

OP использует docker-compose 1.12, который еще не поддерживает версию 3.

решено: я использую версию: '2' вместо версии: '3' в файле docker-composer и я использую mem_limit вместо resources

4
mikemaccana 24 Апр 2020 в 11:19

Если вы используете конфиги Docker Compose v.3 и работаете в режиме docker-compose up, это может быть полезно.

Это не документировано нигде в docker-compose, но вы можете передать любой допустимый параметр системного вызова setrlimit в ulimits.

Таким образом, вы можете указать в docker-compose.yaml

ulimits: as: hard: 130000000 soft: 100000000

Объем памяти в байтах. После превышения этого предела ваш процесс получит исключения выделения памяти, которые вы можете или не можете перехватить.

3
Gaspar Chilingarov 26 Май 2017 в 10:51
43601282