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

2023-08-18  本文已影响0人  春木橙云

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

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

docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <容器名称或容器 ID>

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

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
上一篇 下一篇

猜你喜欢

热点阅读