golang から rethinkDB への接続エラー

WBOY
リリース: 2024-02-12 10:45:08
転載
572 人が閲覧しました

从 golang 连接到 rethinkDB 时出错

php エディタ Baicao は、golang を使用して rethinkDB に接続するときに問題が発生しました。 rethinkDB サーバーに接続できないというエラー メッセージを見て彼は混乱しました。この問題に対して、彼は一連のトラブルシューティングとデバッグを実施し、最終的に解決策を見つけました。この記事では、golang から rethinkDB に接続するときに考えられる問題と解決策について説明します。

質問内容

rethinkdbを使用してdockerコンテナを実行し、go fileを実行してデータベースに接続しているのですが、接続時にエラーが発生します。

###こんにちは、みんな。 rethinkdb についてサポートが必要です。docker コンテナを実行しました:

リーリー

次に、http://localhost:8100 にアクセスすると、rethinkdb のホームページがあるので、何も問題ありません。しかし、golang からデータベースに接続しようとすると、いくつかのエラーが発生します:

リーリー

このエラーは、

go run main.go: の実行後に発生します。 リーリー

ありがとうございます。この問題が発生する理由は、ポートが間違っているためです (28015)。ただし、ポート = 8100 以外を変更すると、同じ問題が発生します。 28015 の代わりに 8100 を入力すると、次のエラーが表示される場合:

リーリー

おそらく誰かがこの問題の解決方法を知っているかもしれません)

回避策

-p 8100:8080 コンテナ内のポート 8080 を次のようにマッピングします。ホスト上のポート 8100。他のポートをマッピングしていないため、8100 以外のポート (例: 127.0.0.1:28015) にアクセスしようとしても、リクエストはコンテナーに到達しません。ホスト上の他の何かがそのポートでリッスンしているか、リッスンしているものが何もない可能性があります。

管理インターフェイスには

http://localhost:8100 でアクセスできるとのことですが、ログを確認すると次のようなことがわかります: リーリー

つまり、サーバーは複数のポートで接続をリッスンしています。ポート

8080 (8100 にマッピング) は管理 http インターフェイスであり、28015 はドライバー接続に使用されます (これは ドキュメント に記載されています) 。コードはポート 28015 (これは正しい) に接続しようとしていますが、そのポートがマッピングされていないため、ホストからアクセスできません。これを修正してください: リーリー

これにより、コンテナ内のポート

28015 がホスト上のポート 28015 にマップされます (必要に応じて別のホスト ポートを使用できます。コードを更新することを忘れないでください)。これで、次のものに正常に接続できるようになりました: リーリー

以上がgolang から rethinkDB への接続エラーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート