Как использовать `docker compose exec` с grep и ANSI color?
Я лишь вскользь знаком с Docker и с тем, как работают TTY в Linux. На работе я использую такие команды, как docker compose up
для запуска стека разработки (Postgres + Django), и docker compose exec web python manage.py ...
для запуска команд Django во время разработки.
Противоречивые проблемы:
Я не могу передавать ввод или вывод grep без добавления
-T
. Я не знаю почему, я просто знаю, что с ним это работает, а без него нет.- Я заполняю БД с помощью
docker compose exec -T db psql -U username myproj < snapshot.sql
, потому что без-T
входные данные не попадают в psql. - Я также добавляю
-T
, когда мне нужно вывести вывод grep, например:
docker compose exec web python manage.py showmigrations | grep '[ ]'
.
- Я заполняю БД с помощью
Однако, когда я использую
-T
, он портит ANSI раскраску и форматирование.
Вопрос: Каков правильный метод? Как правильно подключить STDIN & STDOUT, не испортив цвет & форматирование?