docker-compose在每行输出的开头插入service_1 |
之类的前缀。我使用这个容器进行测试,这种改进(在其他情况下非常有用)弄乱了我的调试日志,我想删除它用于此服务。 Documentation没有关于此问题的信息。任何想法?
我的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
修改:澄清预期结果
当前输出:
python | python | collected 511 items
python |
python | tests/test_access.py python | python | python | python | python | python | python | python | python | python | python | python | python | python | python |
预期产出:
collected 511 items
test_access.py
答案 0 :(得分:0)
在UNIX shell中,您可以使用管道(|):
import requests
response = requests.get('google.com')
print (response.text)
docker-compose up python | sed -u 's/^[^|]*[^ ]* //'
意味着匹配所有非|的内容,因此在您的示例中,它将匹配python和所有空格,直到第一个|。
[^|]*
与上面的类似,不同之处在于它匹配所有非空格的内容。这是必要的,因为[^ ]*
后不仅只有一个空格,docker-compose还添加了一些控制字符来为输出着色。
在此之后,|
之后实际上有一个空格。
|
的第一个斜杠确定第一个正则表达式的结尾。在这些斜线内,您可以放置一些内容来替换匹配的内容,在这种情况下,该内容为空。
使用foreman之类的其他工具来管理流程时,必须使用//
选项。