我正在Codeship中测试一个需要数据库的容器。使用codeship-services.yml中的服务我将数据库容器链接到应用程序容器。问题是数据库容器正在打印大量输出,这些输出与测试的输出混合在一起。我想完全摆脱MongoDB日志,但是MongoDB没有选项可以做到这一点。
我目前正在运行它
mongod --quiet --setParameter logLevel=0
但是仍然可以获得大量输出。
所以我正在寻找Codeship方面的解决方案来抑制容器的输出(Codeship术语中的服务)。在
logging:
driver: none
来自docker-compose的设置似乎不起作用。
这是我的codeship-services.yml:
myapp:
build:
dockerfile: Dockerfile
image: myapp
cached: true
links:
- database
database:
image: mongo:3.4.3
command: mongod --quiet --logpath /tmp/mongo.log --setParameter logLevel=0
答案 0 :(得分:0)
如果您想完全摆脱MongoDB日志,可以将mongod
命令的所有输出重定向到\dev\null
。
mongod --quiet --logpath /tmp/mongo.log --setParameter logLevel=0 > /dev/null 2>&1
答案 1 :(得分:0)
如果要将MongoDB日志重新路由到/dev/null
,从而完全摆脱它们,则应替换由密钥--logpath
指定的日志输出路径。例如:
database:
image: mongo:3.4.3
command: mongod --quiet --logpath /dev/null