Dav*_*arb 7 logging mongodb docker-compose
我在一个更大的服务器中运行 MongoDB,由 docker-compose 控制。
我想减少 Mongo 日志的冗长(并且可能最终也控制其他 Mongo 设置)。不确定在哪里适合我的最小配置;我目前只有:
mongo:
image: mongo:3.2
volumes:
- ${MONGO_DATA_DB}:/data/db
ports:
- ${EXPOSED_MONGO_PORT}:27017
Run Code Online (Sandbox Code Playgroud)
Car*_*lio 10
我已经尝试了接受的答案,但 mongo log 仍然很冗长。然后,在此线程之后,我省略了整个日志,在我的情况下要好得多:
mongo:
command: mongod --quiet --logpath /dev/null
Run Code Online (Sandbox Code Playgroud)
读取的描述正式图像的MongoDB在DockerHub(相同的图像使用的是)我推断可以传递的命令的mongod使用命令的搬运工-撰写的部分。然后您可以使用该--quiet
选项来限制输出量。
通过这种方式,您 docker-compose 将如下所示:
mongo:
image: mongo:3.2
volumes:
- ${MONGO_DATA_DB}:/data/db
ports:
- ${EXPOSED_MONGO_PORT}:27017
command: --quiet
Run Code Online (Sandbox Code Playgroud)
您可以在此处找到mongod接受的整个选项列表,也可以查看bash 中的输出。--help
mongod
有时 docker 图像,接受配置参数作为环境变量,因此您可以在运行时更改服务的配置。遗憾的是,我在此 docker 映像中找不到有关可用环境变量的任何官方信息,但我鼓励您继续调查此替代路径。
我希望它有帮助!
编辑
图像文档中的另一种方法:
对于更复杂的配置设置,您仍然可以使用 MongoDB 配置文件。mongod 默认不读取配置文件,因此需要指定带有配置文件路径的 --config 选项。通过从 mongo 创建自定义 Dockerfile 或将其从主机安装到容器,创建自定义配置文件并将其放入容器中。有关配置文件选项的完整列表,请参阅 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
Run Code Online (Sandbox Code Playgroud)
设置日志路径对我有用。它不显示日志输出,而是保存到文件中。
mongo:
container_name: mongo
image: mongo
restart: unless-stopped
command:
- '--logpath'
- '/var/log/mongodb/mongod.log'
ports:
- '27017:27017'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5894 次 |
最近记录: |