Как уменьшить многословность журнала монго в образе docker-compose? - PullRequest
0 голосов
/ 14 февраля 2019

Я запускаю MongoDB на более крупном сервере, контролируемом docker-compose.

Я хотел бы уменьшить многословность журналов Mongo (и, вероятно, в конечном итоге также контролировать другие настройки Mongo).Не уверен, где вписать это в мою минимальную конфигурацию;У меня сейчас просто есть:

  mongo:
    image: mongo:3.2
    volumes:
      - ${MONGO_DATA_DB}:/data/db
    ports:
      - ${EXPOSED_MONGO_PORT}:27017

1 Ответ

0 голосов
/ 14 февраля 2019

Чтение описания официального образа MongoDB на DockerHub (то же изображение, которое вы используете) Я пришел к выводу, что вы можете передавать команды mongod , используя command раздел докер-композ.Тогда вы можете использовать опцию --quiet, чтобы ограничить объем вывода.

Таким образом, docker-compose будет выглядеть следующим образом:

mongo:
    image: mongo:3.2
    volumes:
      - ${MONGO_DATA_DB}:/data/db
    ports:
      - ${EXPOSED_MONGO_PORT}:27017
    command: --quiet

Вы можете найти весь списокопции, которые mongod принимает здесь или также проверяет --help вывод mongod в вашем bash.

Иногда образы Docker, принимает параметры конфигурации в качестве переменных среды, так что вы можете изменить конфигурацию службы во время выполнения.К сожалению, я не смог найти никакой официальной информации о доступных переменных среды в этом образе докера, но я призываю вас продолжить изучение этого альтернативного пути.

Надеюсь, это поможет!

РЕДАКТИРОВАТЬ

Другой подход из документации изображения:

Для более сложной настройки конфигурации вы все равно можете использовать файл конфигурации MongoDB.mongod не читает файл конфигурации по умолчанию, поэтому необходимо указать параметр --config с путем к файлу конфигурации.Создайте пользовательский файл конфигурации и поместите его в контейнер, создав собственный Dockerfile FROM mongo или смонтировав его с хост-машины на контейнер.См. Руководство MongoDB для получения полного списка параметров файла конфигурации.

Например, /my/custom/mongod.conf - это путь к пользовательскому файлу конфигурации.Затем запустите контейнер MongoDB следующим образом:

$ docker run --name some-mongo -v / my / custom: / etc / mongo -d mongo --config /etc/mongo/mongod.conf

Таким образом, ваш docker-compose будет выглядеть следующим образом:

mongo:
    image: mongo:3.2
    volumes:
      - ${MONGO_DATA_DB}:/data/db
      - ${MONGO_DATA_CONFIG}:/etc/mongo/
    ports:
      - ${EXPOSED_MONGO_PORT}:27017
    command: --config /etc/mongo/mongod.conf
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...