Структура файла docker-compose.yml
env_file указывает путь к файлу с переменными, которые будут использоваться для работы контейнера. Чтобы не указывать все переменные, вы можете поместить их в один файл и сослаться на него. Вы можете передать как путь к отдельному файлу, так и список таких путей. По умолчанию это файл .env .
env_file:
- ./a.env
- ./b.env
environment определяет пары ключ: значение для переменных, которые нужны при работе контейнера. Вы можете использовать два разных синтаксиса - map и list.
environment:
RACK_ENV: development
SHOW: "true"
USER_INPUT:
resources
resources настраивает ограничения физических ресурсов для контейнера, работающего на платформе. Эти ограничения могут быть настроены как:
-
limits: Платформа должна не допускать, чтобы контейнер выделял больше. -
reservations: Платформа должна гарантировать, что контейнер может выделить как минимум указанный объем.
services:
frontend:
image: example/webapp
deploy:
resources:
limits:
cpus: '0.50'
memory: 50M
pids: 1
reservations:
cpus: '0.25'
memory: 20M
cpus
cpus настраивает ограничение или резервирование того, сколько доступных ресурсов ЦП (количество ядер) может использовать контейнер.
memory
memory настраивает ограничение или резервирование объема памяти, который может выделить контейнер, задается как строка, выражающая байтовое значение .
pids
pids настраивает лимит PID контейнера, задаваемый как целое число.