깨끗한 개발용 Docker 환경에서 백업 복원 실패: FATAL: Peer authentication failed for user “postgres”

저는 이렇게 해결했습니다:

하지만 이 문제를 해결하기 위한 다른 방법들도 몇 가지 있습니다:

  • docker 부트 이미지에서 환경 변수 설정 USER=discourse를 추가합니다

  • d\exec-e USER=discourse \를 추가합니다

  • 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은 정상적으로 작동합니다 (관련 패치 참고).