docker-compose 上的 rails 应用程序:db:migration 显示“权限被拒绝”

gra*_*sch 1 ruby-on-rails database-migration docker-compose

我正在 docker-compose 图像上运行一个 rails 应用程序。创建用户设计后,当我运行docker-compose run web rails db:migrate它时显示以下错误:PG::ConnectionBad: FATAL: could not open relation mapping file "global/pg_filenode.map": Permission denied

我已经尝试了所有与 rails 和 psql 相关的解决方案,所以我猜我的问题出在 docker-compose 程序上,我也尝试过,sudo但结果是一样的

代码:我运行的命令是docker-compose run web rails db:migratedocker-compose run web rails g devise usuario

这是输出:

rails aborted!
PG::ConnectionBad: FATAL:  could not open relation mapping file "global/pg_filenode.map": Permission denied
/usr/local/bundle/gems/pg-1.1.4/lib/pg.rb:56:in `initialize'
/usr/local/bundle/gems/pg-1.1.4/lib/pg.rb:56:in `new'
/usr/local/bundle/gems/pg-1.1.4/lib/pg.rb:56:in `connect'
Run Code Online (Sandbox Code Playgroud)

此链接中的其余日志:https : //hastebin.com/axiboxohem.bash

gra*_*sch 6

事实证明,不知何故,Docker 上有多个相同镜像的容器。我可以看到使用 安装的额外容器docker ps -a -q,并使用docker rm $(docker ps -a -q). 对我来说就是这样,我猜其中一个容器正在保存文件。