我是 Docker 的新手,然后按照他们的官方教程运行 Ruby on Rails 和 Postgresql。当我运行 docker-compose up
时一切正常,但是当我尝试命令 docker-compose run web rake db:create
时,我收到了 FATAL 错误:角色“root”不存在
。
database.yml
default: &default
adapter: postgresql
encoding: unicode
pool: 5
host: db
development:
<<: *default
database: myapp_development
test:
<<: *default
database: myapp_test
production:
<<: *default
database: myapp_production
username: postgres
password:
最佳答案
您正在以 root 身份运行该命令,它正在尝试使用相同的用户名连接到数据库。您尚未在 PostgreSQL 中创建用户 root,因此您必须这样做。
我建议创建另一个用户名并使用它进行连接,即使名称 root 在 PostgreSQL 中没有特殊含义,但通常最好为每个系统设置单独的用户/角色。
您需要修改数据库连接设置以反射(reflect)新用户名。
关于ruby-on-rails - 运行 rake db 时出错 :create in Docker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30669274/