在干净的开发Docker环境中恢复备份失败:FATAL:用户“postgres”的对等认证失败

对我来说,这可以正常工作:

但是,还有其他几种修复方法可供选择:

  • 将环境变量 USER=discourse 添加到 Docker 启动镜像中

  • -e USER=discourse \\ 添加到 d\\exec

  • 将此添加到 backup_restore.rb

      if Rails.env.development?
        username = ENV["USER"] || "discourse"
      end
    

此外,在 Docker 开发环境中执行 d/discourse 时出现了一个新问题:

$ d/discourse backup

<internal:/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require': cannot load such file -- thor (LoadError)
        from <internal:/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
        from script/discourse:4:in `<main>'

d/bundle exec script/discourse backup 可以正常工作(请参阅 补丁)。