Docker Compose Up - Удалить имя службы в выводе журнала - PullRequest
0 голосов
/ 19 октября 2019

Можно ли удалить имя службы в выводе журнала docker-compose up?

Мои журналы в настоящее время выглядят так:

serviceA        | log1
serviceB        | log2
serviceB        | log3
serviceA        | log4

Но я хочу, чтобы они выглядели какthis:

log1
log2
log3
log4

Документация гласит, что вы можете настроить ведение журнала для таких служб, как это:

version: "3.7"
services:
  some-service:
    image: some-service
    logging:
      driver: "json-file"
      options:
        max-size: "200k"
        max-file: "10"

Но я не смог найти никакой опции дляудалить имя службы из журналов при запуске docker-compose up.

Обновление

В соответствии с предложением EchoMike444 , я попробовал следующую команду:

docker-compose up --no-color 2>&1 | sed 's/^[^ ]*  | //'

со следующим файлом составления Docker:

version: "3"
services:
  consumer:
    image: debian:stretch-slim
    command:
      [
        "bash",
        "-c",
        "while ( true ) ; do echo $$(date) $$( hostname ) ; sleep $$(( $$RANDOM %4 )) ; done ",
      ]
  ideas:
    image: debian:stretch-slim
    restart: always
    command:
      [
        "bash",
        "-c",
        "while ( true ) ; do echo $$(date) $$( hostname ) ; sleep $$(( $$RANDOM %4 )) ; done ",
      ]

Вывод выглядит следующим образом

ideas_1     | Sun Oct 20 05:56:23 UTC 2019 99295bdcbf2c
ideas_1     | Sun Oct 20 05:56:25 UTC 2019 99295bdcbf2c
Sun Oct 20 05:56:25 UTC 2019 dd45c5900159
ideas_1     | Sun Oct 20 05:56:27 UTC 2019 99295bdcbf2c
ideas_1     | Sun Oct 20 05:56:27 UTC 2019 99295bdcbf2c
Sun Oct 20 05:56:27 UTC 2019 dd45c5900159
Sun Oct 20 05:56:29 UTC 2019 dd45c5900159
ideas_1     | Sun Oct 20 05:56:30 UTC 2019 99295bdcbf2c

Таким образом, он работает для службы consumer, но не для ideas.

1 Ответ

1 голос
/ 19 октября 2019

В настоящее время вы не можете удалить префикс, я не видел опции в исходном коде.

docker-compose написано в python , не стесняйтесь исправлять.

https://github.com/docker/compose/blob/master/compose/cli/log_printer.py

Обходной путь будет:

 docker-compose up --no-color 2>&1 | sed 's/^[^ ]*  *| //' 

или

 docker-compose up -d
 docker-compose logs --no-color -f 2>&1 | sed 's/^[^ ]*  *| //'

Я тестировал MacOS и Linux с этим очень маленьким docker-compose.yaml

version: '3.7'
services:
  serviceA:
    image: debian:stretch-slim
    command: ["bash","-c","while ( true ) ; do echo $$(date) $$( hostname ) ; sleep $$(( $$RANDOM %4 )) ; done "]
  serviceB:
    image: debian:stretch-slim
    restart: always
    command: ["bash","-c","while ( true ) ; do echo $$(date) $$( hostname ) ; sleep $$(( $$RANDOM %4 )) ; done "]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...