Файл настроек в Docker
Файл настроек задаёт параметры сервера отдельным текстом, а не длинной флагов. Процесс читает фрагмент при старте, если команда указывает путь к нему, и берёт оттуда каталог данных, адрес прослушивания и профилирование.
В mongod.conf
каталог данных совпадает
с томом,
сеть слушает все интерфейсы,
а порог медленных операций
равен 200 миллисекундам:
storage:
dbPath: /data/db
net:
bindIp: 0.0.0.0
operationProfiling:
slowOpThresholdMs: 200
Сервис db
на mongo:8.3
монтирует том cfgdata
на /data/db,
файл на /etc/mongod.conf
и передаёт только ссылку
на конфиг в команде
без пароля при старте:
services:
db:
image: mongo:8.3
command: ["--config", "/etc/mongod.conf"]
volumes:
- cfgdata:/data/db
- ./mongod.conf:/etc/mongod.conf
volumes:
cfgdata:
Фоновый подъём проекта:
docker compose up -d
Запрос параметра внутри сервиса
показывает 200
для порога медленных операций -
число совпадает с файлом,
отдельная таблица вывода
в уроке не нужна:
docker compose exec db mongosh --quiet --eval "db.adminCommand({ getParameter: 1, slowOpThresholdMs: 1 }).slowOpThresholdMs"
Задайте в site.conf порог 150 миллисекунд и подключите его к сервису db на томе cfglab.
Опишите словами, что сервер видит 150, не переписывая таблицу ответа.