El *_*uso 7 docker docker-compose
docker-composeservice_1 |在每一行输出的开头插入前缀。我使用这个容器进行测试,这种改进(在其他情况下非常有用)弄乱了我的调试日志,我想为此服务删除它。文档没有关于这个问题的信息。有任何想法吗?
我的docker-compose.yml:
version: '3'
services:
rds:
image: postgres:9.4
ports:
- ${POSTGRES_PORT}:5432
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
dynamo:
image: iarruss/dynamo-local-admin:latest
ports:
- ${DYNAMODB_PORT}:8000
python:
container_name: python
image: iarruss/docker-python2:latest
depends_on:
- rds
- dynamo
environment:
POSTGRES_HOST: rds
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
DYNAMODB_HOST: dynamo
Run Code Online (Sandbox Code Playgroud)
编辑:澄清预期结果
电流输出:
python |
python | collected 511 items
python |
python | tests/test_access.py
python |
Run Code Online (Sandbox Code Playgroud)
预期输出:
collected 511 items
test_access.py
Run Code Online (Sandbox Code Playgroud)
dav*_*wil 12
docker compose logs有一个--no-log-prefix删除前缀的标志。
例如
# start all services in background
docker compose up -d
# show logs for all services, without prefix (-f means follow the logs)
docker compose logs -f --no-log-prefix
# or, for a single service called foo
docker compose up foo -d
docker compose logs foo -f --no-log-prefix
Run Code Online (Sandbox Code Playgroud)
在 Unix shell 中,您可以使用管道 (|):
docker-compose up python | sed -u 's/^[^|]*[^ ]* //'
Run Code Online (Sandbox Code Playgroud)
这些[^|]*均值匹配除 | 之外的所有内容,因此在您的示例中它将匹配 python 和所有空格,直到第一个 |。
与[^ ]*上面类似,只是它匹配所有非空格的内容。这是必要的,因为 docker-compose 之后不仅有一个空格|,还添加了一些控制字符来对输出进行着色。
在此之后有一个空格,实际上可以删除之后的空格|。
的第一个斜杠//确定第一个正则表达式的结尾。在这些斜杠内,您可以放置一些内容来替换匹配的内容,在本例中,它是空的。
当您使用其他一些工具(例如foreman )-u来管理流程时,该选项是必需的。
| 归档时间: |
|
| 查看次数: |
1342 次 |
| 最近记录: |