【问题标题】:rails application on docker-compose: db:migration shows "Permission denied"docker-compose 上的 rails 应用程序:db:migration 显示“权限被拒绝”
【发布时间】:2019-04-26 16:06:44
【问题描述】:

我正在 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'

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

【问题讨论】:

    标签: ruby-on-rails docker-compose database-migration


    【解决方案1】:

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

    【讨论】:

    • 我遇到了同样的问题,运行 docker rm $(docker ps -a -q) 也为我工作。
    【解决方案2】:

    您的问题似乎只是与 Postgresql 相关,请检查您的 postgres 服务是否已启动,或者您是否在文件夹中拥有正确的权限。 看看这个,也许有帮助:Postgres is failing with 'could not open relation mapping file "global/pg_filenode.map" '

    【讨论】:

      【解决方案3】:

      运行docker stop $(docker ps -q) 停止所有正在运行的容器并重试。

      【讨论】:

        猜你喜欢
        • 2020-08-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-08
        • 2020-06-12
        • 1970-01-01
        • 2021-01-09
        • 1970-01-01
        相关资源
        最近更新 更多