Docker-compose:应用程序容器无法连接到 Postgres

2023-11-26

使用 docker-compose,我尝试从以下位置查看 Flask 应用程序manage.py runserver与 postgres 图像连接,但出现以下错误:

sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not connect to server: Connection refused
    Is the server running on host "0.0.0.0" and accepting
    TCP/IP connections on port 5432? 

我的撰写文件

version: '3.1'
services:
  app:
    build: .
    ports:
      - 5000:5000
    volumes:
      - /Users/sammy/Projects/my_flask_app:/my_flask_app
    container_name: my_flask_app_1
    depends_on:
      - db
    entrypoint: ["python", "manage.py", "runserver"]
  db:
    image: postgres:10
    restart: always
    container_name: my_app_db_1
    environment:
      POSTGRES_USER: ubuntu
      POSTGRES_PASSWORD: pickles
      POSTGRES_DB: db
    ports:
      - 5432:5432

从我的应用程序settings.py FILE

POSTGRES = {
    'user': "ubuntu",
    'pw': "pickles",
    'db': "db",
    'host': os.getenv('IP', '0.0.0.0'),
    'port': '5432',
}
SQLALCHEMY_DATABASE_URI = 'postgresql://%(user)s:\
%(pw)s@%(host)s:%(port)s/%(db)s' % POSTGRES

它可以很好地构建和运行应用程序,因为我可以访问该站点并查看 Werkzeug 回溯解释器。我的 Postgres 容器本身的配置或我的 Flask 与其连接失败。

  • 环境变量是否正确?
  • 我需要为数据库指定一个卷吗?如果是这样,为什么?除了将用户名/通行证塞入环境变量之外,我不明白这一点。

settings.py 文件中的主机应该是“db”。 compose 公开内部网络上与您的服务具有相同主机名的主机。

POSTGRES = {
    'user': "ubuntu",
    'pw': "pickles",
    'db': "db",
    'host': "db",
    'port': '5432',
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker-compose:应用程序容器无法连接到 Postgres 的相关文章

随机推荐

  • 要求作者为帖子设置特色图片

    我已经自定义了我的 WordPress 网站设计 以过度使用特色图像来发布帖子 这就是为什么我需要要求非管理员发布的所有帖子都需要一组特色图像 这怎么可能 您需要将发布操作挂接到您编写的自定义插件中 虽然这需要一个标题 但这应该可以帮助您开
  • 如何创建仅 alpha 位图上下文

    苹果技术说明QA1037说 要创建仅 alpha 位图上下文 只需为颜色空间参数传递 NULL 即可 但是 我不确定该传递什么bitmapInfo范围 我正在尝试这样的事情 使用 kCGImageAlphaOnly CGContextRef
  • 当存在另一个属性时,将可选属性设为必需

    我有如下所示的 proptypes interface Props resource string create boolean route string 从上面可以看出 create 和route 是可选的props 但是 我想实现这样的
  • 在 C# 中获取下载文件夹? [复制]

    这个问题在这里已经有答案了 我编写了一些代码来搜索目录并在列表框中显示文件 DirectoryInfo dinfo2 new DirectoryInfo C Users Hunter Downloads FileInfo Files2 di
  • ld:找不到框架 Flutter

    当我在 iOS 模拟器上构建 iOS 的 flutter 项目时 出现错误 ld framework not found Flutter 并且构建失败 这是当我尝试从 xcode 构建 flutter 项目时出现的错误消息 export I
  • ASP.NET MVC 2 - HTML.EditorFor() 和自定义编辑器模板

    随着 MVC 2 添加 HtmlHelper EditorFor 不可能为给定的 Model 对象创建强类型的 Display 和 Editor 模板 在摆弄它之后 我有点困惑如何将额外的 Model 数据传递到编辑器而不丢失编辑器控件的强
  • HTML5 数据列表值与内部文本

    我遇到了 Chrome 和 Firefox 对 HTML5 datalist 元素的处理之间出现的问题 我可能滥用了它 Firefox 正在按照我期望的方式处理它 但 Chrome 却不是 我还没有在 Opera 上尝试过 这是针对内部页面
  • 使用 FILTER_VALIDATE_REGEXP 的 filter_var

    我正在练习我的 PHP 初学者技能 想知道为什么这个脚本总是返回 FALSE 我究竟做错了什么 namefields a zA Z s value john if filter var value FILTER VALIDATE REGEX
  • 打印n层调用堆栈?

    在 Visual Studio 中使用 C 我想知道是否有一个 API 可以为我打印调用堆栈 最好 我想打印 5 层深度的调用堆栈 Windows 是否提供了一个简单的 API 来允许我执行此操作 看起来 Microsoft 的 DbgHe
  • Xcode 7:链接器命令再次失败,退出代码为 1(使用 -v 查看调用)

    我在 Xcode 7 的 iOS 模拟器上测试我的应用程序 但当我尝试在我的 iOS 设备 带有 iOS 9 的 iPhone 5S 中测试时 我今天 09 16 2015 更新了 xcode 7 和 iOS9 在此之前使用 iOS 8 4
  • 如何从主机外部(同一网络)连接到 docker 容器 [OSX 10.11]

    设置 计算机 A 这是 Docker 机器 默认 运行的地方 虚拟盒子 default 正在运行一个名为 Odoo 的容器 默认 是使用创建的Docker的安装过程 奥杜 是 创建使用Odoo的安装过程 计算机 B 这是同一局域网 LAN
  • 修改 CDO.Message 对象中附件的内容类型

    当我尝试使用 VBScript 将 MHTML 文件作为电子邮件附件添加到电子邮件中时 ContentMediaType被错误地设置为 message rfc822 RFC 822 据我了解 根据 Microsoft 的说法这是正确的 但根
  • 如何显示 NSDocument 目录中的所有图像

    首先 我从照片库中选择图像到 ALAsset 库 然后将图像存储在 ALAsset 库路径的文档目录中 我正在使用此代码将图像存储在 ALAsset 库的文档目录中 它工作完美 现在我想在表视图中显示存储在文档目录中的所有图像 我该怎么做
  • Python 从 tar.gz 导入库?

    我正在开发一个没有 root 访问权限的盒子 但是 有一个文件夹 share 可供每个人读取和写入 我想找到一种方法来放置 python 库 以便每个人都可以访问和使用它们 我发现我可以将 Egg 文件放在 share pythonLib
  • Swift 中哪些值类型支持写时复制?

    我读到了关于 Swift 中数组的写时复制实现here 与标准库中的所有可变大小集合一样 数组使用写时复制优化 阵列的多个副本共享同一存储 直到您修改其中一个副本 当发生这种情况时 被修改的阵列将用其自身唯一拥有的副本替换其存储 然后就地修
  • Android 中的 Intent 与 Content Provider

    我是android应用程序开发的新手 在研究基本的android组件时 我对意图和内容提供者感到困惑 因为两者都被用来将数据从一个应用程序 组件发送到另一个应用程序 组件 如果有意图 我们可以使用捆绑或附加功能发送数据 那么为什么我们要使用
  • 10 月 15 日 Windows 更新后 MVC 应用程序中断

    今天早上我醒来发现我的服务器上的 MVC 4 Web 应用程序已损坏 错误信息是 An exception of type System IO FileNotFoundException occurred in mscorlib dll b
  • 错误:mime-types-data 需要 Ruby 版本 >= 2.0

    我最近在 vmware fusion 中安装了干净的 ubuntu 14 04 虚拟机并更新了它 我正在尝试通过安装 mime tyes data sudo gem install mime types data v 3 2015 1120
  • 带 H:MM:SS 的精密计时器

    如何用 H MM SS 显示天文计时器 我读到默认显示 MM SS 和 H MM SS 我只找到了 MM SS 这是我的 MM SS 代码 带有开始和停止按钮 public class MainActivity extends AppCom
  • Docker-compose:应用程序容器无法连接到 Postgres

    使用 docker compose 我尝试从以下位置查看 Flask 应用程序manage py runserver与 postgres 图像连接 但出现以下错误 sqlalchemy exc OperationalError psycop