我正在使用EC2 UserData来引导实例。
在/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(?
引用docker-compose exec
文档:
默认情况下,命令分配一个 TTY,因此您可以使用诸如 docker-compose exec web sh 之类的命令来获取交互式提示。
若要禁用此行为,可以使用 -T
标志来禁用伪 tty 分配:
docker-compose exec -T web python /var/www/flask/app/db_fixtures.py
或者在运行 docker-compose exec
之前将 COMPOSE_INTERACTIVE_NO_CLI
环境变量设置为 1:
export COMPOSE_INTERACTIVE_NO_CLI=1