Docker postgres migrate数据库迁移报错,error: failed to open database: dial tcp: lookup

70 阅读1分钟
  • 根本原因
    系统无法将主机名 postgres_urls 解析为有效的IP地址,导致数据库连接失败。

  • 关键点

    • 127.0.0.53 是Linux系统的本地DNS服务地址(如 systemd-resolved)。
    • PostgreSQL 服务本身无问题,问题出在主机名解析阶段。
  • 适用场景:本地开发或Docker容器间通信。

  • 操作步骤
    在 /etc/hosts 中添加主机名与IP的映射:

    sudo sh -c 'echo "127.0.0.1 postgres_urls" >> /etc/hosts'
    
  • 效果:强制系统将 postgres_urls 解析为 127.0.0.1(本地回环地址)。