我想像這樣運行一個 postgres 容器,沒有 docker compose,并在一個 Ruby on Rails 應用程式中連接到它:
docker run -p 5432:5432 -e POSTGRES_USER=user -e POSTGRES_PASSWORD=password -e POSTGRES_DB=myapp_development postgres:13.4
我的 database.yml 檔案看起來像這樣
default: &default
adapter: postgresql
encoding: unicode
# For details on connection pooling, see rails configuration guide
# http://guides.rubyonrails.org/configuring.html#database-pooling
pool: 5
development:
<<: *default
database: myapp_development
user: user
password: password
但是,在運行應用程式時,我收到以下錯誤:
無法連接到服務器:沒有這樣的檔案或目錄服務器是否在本地運行并接受 Unix 域套接字“/tmp/.s.PGSQL.5432”上的連接?
我目前不想使用 docker compose
我錯過了什么?
uj5u.com熱心網友回復:
運行后
docker run -p 5432:5432 -e POSTGRES_USER=user -e POSTGRES_PASSWORD=password -e POSTGRES_DB=myapp_development postgres:13.4
我可以通過運行從我的終端連接 postgresql
psql -h localhost -U user myapp_development
所以,我想你只需要添加host選項database.yml
default: &default
adapter: postgresql
encoding: unicode
# For details on connection pooling, see rails configuration guide
# http://guides.rubyonrails.org/configuring.html#database-pooling
pool: 5
host: localhost
development:
<<: *default
database: myapp_development
user: user
password: password
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/358388.html
標籤:红宝石轨道 红宝石 PostgreSQL的 码头工人 ruby-on-rails-5
上一篇:Rails6.1創建記錄僅在UPDATE事務中產生結果
下一篇:如何將按鈕向右對齊?
