为了账号安全,请及时绑定邮箱和手机立即绑定

Docker、Flask、SQLAlchemy:ValueError:int() 的无效文字

Docker、Flask、SQLAlchemy:ValueError:int() 的无效文字

人到中年有点甜 2021-06-03 22:21:54
我有一个可以成功初始化并连接到 Postgresql 数据库的烧瓶应用程序。但是,当我尝试 dockerize 这个应用程序时,我收到以下错误消息。“SQLALCHEMY_DATABASE_URI”是正确的,我可以连接到它,所以我不知道我哪里出错了。docker-compose 日志app_1       |   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/url.py", line 60, in __init__app_1       |     self.port = int(port)app_1       | ValueError: invalid literal for int() with base 10: 'None'Postgres 数据库在 Docker 容器中成功连接postgres_1  | LOG:  database system is ready to accept connections配置文件from os import environimport osRDS_USERNAME = environ.get('RDS_USERNAME')RDS_PASSWORD = environ.get('RDS_PASSWORD')RDS_HOSTNAME = environ.get('RDS_HOSTNAME')RDS_PORT = environ.get('RDS_PORT')RDS_DB_NAME = environ.get('RDS_DB_NAME')SQLALCHEMY_DATABASE_URI = "postgresql+psycopg2://{username}:{password}@{hostname}:{port}/{dbname}"\                          .format(username = RDS_USERNAME, password = RDS_PASSWORD, \                           hostname = RDS_HOSTNAME, port = RDS_PORT, dbname = RDS_DB_NAME)flask_app.py(入口点)def create_app():    app = Flask(__name__, static_folder="./static", template_folder="./static")    app.config.from_pyfile('./app/config.py', silent=True)    register_blueprint(app)    register_extension(app)    with app.app_context():        print(db) -> This prints the correct path for SQLALCHEMY_DATABASE_URI        db.create_all()        db.session.commit()    return appdef register_blueprint(app):    app.register_blueprint(view_blueprint)    app.register_blueprint(race_blueprint)def register_extension(app):    db.init_app(app)    migrate.init_app(app)app = create_app()if __name__ == '__main__':    app.run(host='0.0.0.0', port=8080, debug=True)
查看完整描述

2 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

你需要设置环境变量RDS_USERNAME,RDS_PASSWORD,RDS_HOSTNAME,RDS_PORT和RDS_DB_NAME在Dockerfile用ENV key value,例如

ENV RDS_PORT 5432


查看完整回答
反对 回复 2021-06-08
  • 2 回答
  • 0 关注
  • 346 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号