美文网首页
环境从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