2016-01-10 24 views
5

tôi về cơ bản cố gắng để có một heredoc được thực hiện bởi vỏ Flask-Di chuyển với Flask ứng dụng bối cảnhHeredoc trên exec Docker

Dưới đây là lệnh tôi đang cố gắng để chạy bên trong kịch bản bash tôi

$ docker exec -it mycontainer ./manage shell <<-EOF 
    # shell commands to be executed 
EOF 

Khi cố gắng để thực hiện lệnh trên, chúng tôi nhận được:

cannot enable tty mode on non tty input

Đây là quản lý tệp:

#!/usr/bin/env python 

from middleware import create_app, config 
from middleware.models import db 

from flask.ext.script import Manager 
from flask.ext.migrate import Migrate, MigrateCommand 


app = create_app(config) 
migrate = Migrate(app, db) 

manager = Manager(app) 
manager.add_command('db', MigrateCommand) 


if __name__ == '__main__': 
    manager.run() 

Câu hỏi của tôi là có cách nào để chuyển tập hợp các lệnh như trong heredoc tới trình bao?

Trả lời

4

Remove -t tùy chọn từ docker exec lệnh để loại bỏ gắn pseudo-TTY OR dùng --tty=false:

docker exec -i mycontainer ./manage shell <<-EOF 
    # shell commands to be executed 
EOF 

Hoặc khác:

docker exec -i --tty=false mycontainer ./manage shell <<-EOF 
    # shell commands to be executed 
EOF 
Các vấn đề liên quan