当前位置: 首页 > 知识库问答 >
问题:

如何使用SQLAlchemy在Docker中访问postgresql?

姚麒
2023-03-14
engine = create_engine('postgresql://user:user_password@localhost:5432/database')
df.to_sql('table', engine)

这表明Docker postgresql(正在运行)在该端口不可用。我尝试将-p5432:5432添加到我的docker-compose exec中,但没有成功。有什么提示吗?

共有1个答案

罗茂实
2023-03-14

由于您的flask应用程序和Postgres映像不在同一个docker容器中,您无法通过localhost访问数据库!!

在您的数据库URL中,将docker-compose/中Postgres服务的名称替换为localhost

engine = create_engine('postgresql://user:user_password@{}:5432/database'.format('service_name_of_postgres'))

这个答案值得称赞。

 类似资料:
  • 我正在将当前的Jenkins服务器转换为实现Docker。按照github https://github.com/jenkinsci/docker上的指南,我成功地使用以下命令启动了jenkins: docker Run-P 8080:8080-P 50000:50000-V Jenkins_Home://var/Jenkins_Home Jenkins/Jenkins:LTS 我不确定如何通过文

  • 问题内容: 我想将大量条目(〜600k)上传到PostgreSQL DB的一个简单表中,每个条目有一个外键,一个时间戳和3个浮点数。但是,每个条目要花费60毫秒才能执行此处所述的核心批量插入操作,因此整个执行过程将花费10个小时。我发现,这是方法的性能问题,但是已经用psycopg2 2.7中 的方法解决了。 我运行的代码如下: 我看到这是一个常见问题,但是我还没有设法在sqlalchemy本身中

  • 问题内容: 我已阅读flask-sqlalchemy或sqlalchemy,它们建议将flask-sqlalchemy与flask一起使用。我想遵循这种方法。 但是,我有一个为命令行脚本编写的现有模型,该模型基于sqlalchemy的declarative_base,例如, 我希望仍然可以在此模型中使用命令行脚本,但也希望围绕该模型构建Web应用程序。 有没有办法扩展现有模型,以获得使用flask

  • 我试图在不运行的情况下访问一个docker映像,我只想知道它包含什么以进行验证。我不能ssh到容器中,因为它只需要一秒钟就结束了,所以我需要探索图像而不是容器。或者在容器完成之前是否有访问容器的权限?

  • 我在远程机器上用docker驱动程序启动了minikube,并为特定的pod使用了nodePort服务。我认为nodePort公开了minikube docker容器上的端口。在做minikube IP时,它给了我minikubo运行的docker容器的IP。如何将端口从minnikube容器映射到主机端口,以便远程访问它。除了使用driver=none或重新启动minikube之外,还有一种不同

  • 现在;我得到以下错误: 我以为这是因为我没有在会话中使用那个数据库;所以我去处理使用session.execute并使用sql语句use来使用数据库,但它给我带来了语法错误 check_if_exists=session.query(latest_movies_scraper).filter_by(name=dictionary['title']).first()