我正在使用EC2 UserData来引导实例。
TRacking bootstrap execution /var/log/cloud-init-output.log
的日志,我发现该脚本已停止在:
+ docker-compose exec web python /var/www/flask/app/db_fixtures.py
the input device is not a TTY
看起来这个命令在交互模式下运行,但为什么呢?以及如何为此命令强制非交互模式(docker-compose exec)?
答案 0 :(得分:8)
引自the docker-compose exec
docs:
默认情况下,命令会分配一个TTY,因此您可以使用docker-compose exec web sh等命令来获取交互式提示。
要禁用此行为,您可以使用-T
标志禁用伪tty分配:
docker-compose exec -T web python /var/www/flask/app/db_fixtures.py
或者在运行COMPOSE_INTERACTIVE_NO_CLI
之前将docker-compose exec
环境变量设置为1:
export COMPOSE_INTERACTIVE_NO_CLI=1