I'm trying to execute docker compose up -d --force-recreate --remove-orphans command via pyinvoke. The command outputs such that it updates on the same lines using control characters. But when executing via pyinvoke, it prints all the lines on separate lines.
Is it possible to have the output printed exactly as by the command?
Example:
docker-compose output (it does print logs for creating containers, but it is over-written by newer logs on the same line):
docker compose up -d --force-recreate --remove-orphans
[+] Running 3/3
⠿ Network test_app_default Created 0.1s
⠿ Container test_app-redis-1 Started 1.3s
⠿ Container test_app-web-1 Started 1.2s
same using pyinvoke:
docker compose up -d --force-recreate --remove-orphans
Network test_app_default Creating
Network test_app_default Created
Container test_app-redis-1 Creating
Container test_app-web-1 Creating
Container test_app-redis-1 Created
Container test_app-web-1 Created
Container test_app-redis-1 Starting
Container test_app-web-1 Starting
Container test_app-web-1 Started
Container test_app-redis-1 Started
Of course I could add the --no-ansi flag to docker-compose, but I was wondering if we can achieve this effect via pyinvoke as well.
I'm trying to execute
docker compose up -d --force-recreate --remove-orphans
command via pyinvoke. The command outputs such that it updates on the same lines using control characters. But when executing via pyinvoke, it prints all the lines on separate lines.Is it possible to have the output printed exactly as by the command?
Example:
docker-compose output (it does print logs for
creating
containers, but it is over-written by newer logs on the same line):same using pyinvoke:
Of course I could add the
--no-ansi
flag todocker-compose
, but I was wondering if we can achieve this effect via pyinvoke as well.Thanks!