[Docker Compose] Postgres 接続エラー:「接続が拒否されました」の解決
問題:
試行時Docker Compose で実行されている Postgres データベースへの Go 接続を確立しようとすると、「接続が拒否されました」というエラーが発生します。 pg-admin.
理由:
接続文字列はデータベースのホスト名を「postgres」として参照しており、これは Docker Compose のサービス名と一致します。ただし、実際のコンテナ名は「database」です。
解決策:
この問題を解決するには、Docker Compose ファイル内のデータベース コンテナの名前を「postgres」に変更するか、明示的に指定します。ホスト名:
database: build: database restart: always hostname: postgres # Add this line
追加考慮事項:
接続文字列: Go コードの接続文字列 (_str_) に正しい接続文字列が含まれていることを確認してください。ホスト名:
str := fmt.Sprintf("database://%s:%s@%s:%s/%s?sslmode=disable", user, pass, "postgres", port, dbname) # Update the hostname to "postgres"
以上がDocker Compose Postgres 接続が拒否されました: pgAdmin は機能するのに Go アプリが失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。