How to reduce mongo log verbosity in a docker-compose image?
I've tried the accepted answer but mongo log was still quite verbose. Then, following this thread, I've omitted the whole log and it's much better in my case:
mongo: command: mongod --quiet --logpath /dev/null
Reading the description of the official image of MongoDB at DockerHub (same image you are using) I deduced that you can pass commands to mongod using command section of the docker-compose. Then you could use the --quiet
option to limit the amount of output.
In this way you docker-compose would be as follows:
mongo: image: mongo:3.2 volumes: - ${MONGO_DATA_DB}:/data/db ports: - ${EXPOSED_MONGO_PORT}:27017 command: --quiet
You can find the entire list of options that mongod accepts here or also check the --help
output of mongod
in your bash.
Sometimes docker images, accepts configuration params as an environment variables, so you could change the configuration of the service at runtime. Sadly I couldn't find any official information about available environment variables in this docker image, but I encourage you to continue investigating about this alternative path.
I hope it helps!
EDIT
Another approach from the image documentation:
For a more complicated configuration setup, you can still use the MongoDB configuration file. mongod does not read a configuration file by default, so the --config option with the path to the configuration file needs to be specified. Create a custom configuration file and put it in the container by either creating a custom Dockerfile FROM mongo or mounting it from the host machine to the container. See the MongoDB manual for a full list of configuration file options.
For example, /my/custom/mongod.conf is the path to the custom configuration file. Then start the MongoDB container like the following:
$ docker run --name some-mongo -v /my/custom:/etc/mongo -d mongo --config /etc/mongo/mongod.conf
In this way, your docker-compose would be as follows:
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