美文网首页
环境从docker中切换为电脑本地连接不上数据库问题排查解决过程

环境从docker中切换为电脑本地连接不上数据库问题排查解决过程

作者: 春木橙云 | 来源:发表于2023-08-18 13:19 被阅读0次

    当我从oh-my-env切换成本地书写rails服务的时候,发现执行bin/rails server连接不上本地docker中启动的PostgreSQL数据库。一下是我的排查过程。

    一,我先确定本地能否连接到PostgreSQL:

    • 获取 PostgreSQL 容器的 IP 地址:
    docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <容器名称或容器 ID>
    

    <容器名称或容器 ID> 替换为你的 PostgreSQL 容器的名称或 ID。命令将返回 PostgreSQL 容器的 IP 地址。

    • 使用 psql 连接到 PostgreSQL 数据库。在终端中运行以下命令:
    psql -h <PostgreSQL 容器的 IP 地址> -p 5432 -U <用户名> -d <数据库名>
    

    如果连接成功,你将会看到一个以 =# 开头的提示符,表示你已成功连接到 PostgreSQL 数据库。如果连接失败,可能会显示与连接问题相关的错误消息。

    发现本地没问题。

    二,排查database.yml配置代码:

      <<: *default
      database: XXX_dev
      username: XXX
      password: XXX.123123
      host: db-for-sbbs
      port: 5432
    

    发现问题:host不正确,本地启动的docker host应该是localhost

      database: XXX_dev
      username: XXX
      password: XXX.123123
      host: localhost
      port: 5432
    

    相关文章

      网友评论

          本文标题:环境从docker中切换为电脑本地连接不上数据库问题排查解决过程

          本文链接:https://www.haomeiwen.com/subject/rtkdmdtx.html