如题:mongodb的系统日志默认是不开启的,需要自己主动打开!
下面介绍在docker-compose里面的MongoDB如何使用配置文件打开系统日志,并将日志映射到宿主机中。
配置docker-compose的注意点主要在于三处:
- 需要将宿主机中的配置文件通过volumes映射到mongo容器中。
- 将容器中的日志存放路径通过volumes映射到宿主机中。
- 使用command将配置文件生效
下面贴出mongod.conf配置文件跟部分docker-compose文件:mogodb版本<4.2.8>
mongod.conf
systemLog:
destination: file
path: "/var/log/mongodb/mongod.log" //容器中的日志文件路径
logAppend: true //已追加的方式将日志写入文件
docker-compose.yml
mongodbDev:
image: mongo:4.2.8
container_name: mongodb1
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: ********
volumes:
- /data/mongodb/log_config:/mongodb/log_config //data/mongodb/log_config宿主机配置文件路径
- /var/log/mongodb:/var/log/mongodb //系统日志存放路径
command: mongod --config /mongodb/log/mongod.conf
注释:上面代码注释中的“系统日志存放路径”中的日志文件名称是mongod.conf中指定的mongod.log。
使整个配置文件生效需要通过command执行下述命令:
mongod --config /mongodb/log_config/mongod.conf
打开MongoDB数据库,然后你就可以在/var/log/mongodb/mongod.log中看到日志信息了~~