Docker compose:如何启动输出受限的容器
我有一个docker compose文件,其中包括一个couchdb容器();当我编写docker组件时,couchdb容器会输出很多输出。有没有办法抑制该输出,以便我只看到其他容器的输出 也许吧Docker compose:如何启动输出受限的容器,docker,docker-compose,Docker,Docker Compose,我有一个docker compose文件,其中包括一个couchdb容器();当我编写docker组件时,couchdb容器会输出很多输出。有没有办法抑制该输出,以便我只看到其他容器的输出 也许吧 我可以在后台程序模式下运行couchdb吗 或 我可以以某种方式重写默认命令并将输出重定向到tmp文件吗 我不知道如何执行这两种操作,我希望在撰写文件本身中执行,而不是通过更改我的撰写文件callup命令。有什么帮助吗 以下是最小的组合文件: couchdb: container_name: co
couchdb:
container_name: couchdb
image: klaemo/couchdb:2.0.0
ports:
- "5984:5984"
我从一个makefile调用它:
docker compose up——在容器退出时中止——强制重新创建和&docker compose down
注意,docker容器记录到stdout和stderr是有原因的。它允许一个一致的日志界面,供docker log
等命令使用,并用于从容器中提取信息。在一个大型容器生态系统中,如果一切都是一样的,那就更容易了
运行时
在运行时,有两个选项
docker-compose up -d couchdb
docker-compose up other container names
docker-compose start # or docker-compose up -d
docker-compose logs -f other container names
couchdb:
container_name: couchdb
image: me/klaemo-couchdb:2.0.0
build:
context: .
dockerfile: Dockerfile.couchdb
ports:
- "5984:5984"
Dockerfile.couchdb
FROM klaemo/couchdb:2.0.0
COPY couchdb.ini /opt/couchdb/etc/local.ini
couchdb.ini
需要包含容器中的所有原始配置设置/opt/couchdb/etc/local.ini
,将一些日志设置从stderr更新为文件:
[log]
file = /opt/couchdb/log/couch.log
level = info
还可以专门为模块设置日志级别
[log_level_by_module]
couch_httpd = info
couch_replicator = info
couch_query_servers = error
您可能希望将
/opt/couchdb/log
目录作为卷从容器主机装载,这样您就不会一直将数据写入当前容器实例 注意Docker容器登录到stdout和stderr是有原因的。它允许一个一致的日志界面,供docker log
等命令使用,并用于从容器中提取信息。在一个大型容器生态系统中,如果一切都是一样的,那就更容易了
运行时
在运行时,有两个选项
docker-compose up -d couchdb
docker-compose up other container names
docker-compose start # or docker-compose up -d
docker-compose logs -f other container names
couchdb:
container_name: couchdb
image: me/klaemo-couchdb:2.0.0
build:
context: .
dockerfile: Dockerfile.couchdb
ports:
- "5984:5984"
Dockerfile.couchdb
FROM klaemo/couchdb:2.0.0
COPY couchdb.ini /opt/couchdb/etc/local.ini
couchdb.ini
需要包含容器中的所有原始配置设置/opt/couchdb/etc/local.ini
,将一些日志设置从stderr更新为文件:
[log]
file = /opt/couchdb/log/couch.log
level = info
还可以专门为模块设置日志级别
[log_level_by_module]
couch_httpd = info
couch_replicator = info
couch_query_servers = error
您可能希望将
/opt/couchdb/log
目录作为卷从容器主机装载,这样您就不会一直将数据写入当前容器实例 有没有一种方法可以从compose文件本身实现这一点?您可以在映像构建中修改couchdb的设置,以输出到日志文件,或者禁止记录到较低级别。我将添加一个注释:有没有办法从compose文件本身实现这一点?您可以在映像构建中修改couchdb的设置以输出到日志文件,或者禁止记录到较低级别。我将添加一个注释我喜欢这个解决方案因为它简单:我喜欢这个答案因为它简单:我喜欢这个解决方案因为它简单:我喜欢这个答案因为它简单: