Just hit this error running a Github Action that used
docker compose exec ...:
the input device is not a TTY
Github actions doesn’t give you a true terminal or shell (input/output environment, a TTY) and
docker compose exec by default does, essentially,
docker exec -it ... where
-i means interative and
-t is run a TTY (input/output device).
To avoid the error use the
docker compose exec -T containerName commandHere
There’s some tickets floating around that suggest putting
COMPOSE_INTERACTIVE_NO_CLI=1 in the environment, but that’s deprecated in v2.