Как я могу удалить префикс с именем службы из журналов? - PullRequest
0 голосов
/ 16 мая 2018

docker-compose вставляет префиксы, такие как service_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

Редактировать: Уточнить ожидаемый результат

Токовый выход:

python             |
python             | collected 511 items
python             |
python             | tests/test_access.py
python             |

Ожидаемый результат:

collected 511 items

test_access.py                                                     

1 Ответ

0 голосов
/ 08 февраля 2019

В оболочке Unix вы можете использовать трубы (|):

docker-compose up python | sed -u 's/^[^|]*[^ ]* //'

Значение [^|]* означает соответствие всему, что не является |, поэтому в вашем примере оно будет соответствовать python и всем пробелам доfirst |.

[^ ]* аналогично приведенному выше, за исключением того, что оно соответствует всему, что не является пробелом.Это необходимо, потому что после | нет только пробела, docker-compose добавляет некоторые управляющие символы для раскрашивания вывода.

После этого есть пробел, чтобы фактически удалить пробел после |.

Первая косая черта // определяет конец первого регулярного выражения.Внутри этих слешей вы можете поместить некоторый контент, чтобы заменить то, что было найдено, в данном случае оно пустое.

Опция -u необходима, когда вы используете другие инструменты для управления процессом, такие как foreman.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...