docker-compose exec python 输入设备不是 AWS EC2 UserData 中的 TTY



我正在使用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

相关内容

  • 没有找到相关文章

最新更新