Я пытаюсь использовать память и процессор в файле 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?
2 ответа
Ресурсы создания докеров были представлены в формате файла версии 3, для которого требуется докер- составьте 1.13 или новее. Скорее всего, вы используете более старую версию. Проверьте вывод:
docker-compose version
См. руководство по обновлению.
OP использует docker-compose 1.12, который еще не поддерживает версию 3.
решено: я использую версию: '2' вместо версии: '3' в файле docker-composer и я использую
mem_limit
вместоresources
Если вы используете конфиги Docker Compose v.3 и работаете в режиме docker-compose up
, это может быть полезно.
Это не документировано нигде в docker-compose, но вы можете передать любой допустимый параметр системного вызова setrlimit
в ulimits
.
Таким образом, вы можете указать в docker-compose.yaml
ulimits:
as:
hard: 130000000
soft: 100000000
Объем памяти в байтах. После превышения этого предела ваш процесс получит исключения выделения памяти, которые вы можете или не можете перехватить.
Похожие вопросы
Новые вопросы
docker
Docker - это инструмент для создания и запуска контейнеров. Вопросы, касающиеся Dockerfiles, операций и архитектуры принимаются. Вопросы о запуске Docker в производстве могут найти лучшие ответы на ServerFault (https://serverfault.com/). Тег docker редко используется один и часто в паре с другими тегами, такими как docker-compose и kubernetes.