[英]Rails 6 Docker with PostgreSQL Connection Error
我目前從 Docker 開始,並嘗試使用 Docker- 和 Docker-compose 文件調整我的第一個應用程序。
它似乎工作正常,直到我達到我想要創建我的數據庫的地步。 我正確設置了環境變量並將它們反映在我的 database.yml 文件中
# .env
POSTGRES_USER='deploy'
POSTGRES_PASSWORD='deploy'
POSTGRES_DB='nkbrf_db'
# database.yml
default: &default
adapter: postgresql
encoding: unicode
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: <%= ENV['POSTGRES_USERNAME'] %>
password: <%= ENV['POSTGRES_PASSWORD'] %>
database: <%= ENV['POSTGRES_DB'] %>
host: db
development:
<<: *default
test:
<<: *default
production:
<<: *default
這是我的 docker-compose.yml:
version: '3'
services:
db:
image: postgres
volumes:
- 'postgres:/var/lib/postgresql/data'
env_file:
- '.env'
ports:
- "5432"
web:
build: .
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
volumes:
- .:/nkbrfqm
- bundler_gems:/bundle
ports:
- "3000:3000"
environment:
RAILS_ENV: development
depends_on:
- db
volumes:
postgres:
bundler_gems:
它正確設置了所有內容,但是如果我嘗試使用
docker-compose 運行 web rake db:create
我收到以下錯誤:
PG::ConnectionBad: FATAL: 用戶“root”的密碼認證失敗
這個用戶“root”來自哪里? 我的環境變量設置有問題嗎?
您需要刪除.env
文件中的單引號'
然后您需要刪除撰寫文件中的所有容器( docker-compose rm
)。 然后執行docker-compose up -d
例子
#.env
POSTGRES_USER=deploy POSTGRES_PASSWORD=deploy POSTGRES_DB=nkbrf_db
謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.