ホームページ >バックエンド開発 >Golang >ローカル MongoDB データベースを Docker コンテナ内で実行されている Go アプリケーションに接続するにはどうすればよいですか?

ローカル MongoDB データベースを Docker コンテナ内で実行されている Go アプリケーションに接続するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-28 11:46:11439ブラウズ

How Can I Connect My Local MongoDB Database to a Go Application Running in a Docker Container?

ローカル MongoDB データベースを Docker に接続する

ソフトウェア開発の領域では、ローカル サービスを Docker コンテナと統合するという課題に遭遇することがよくあります。この特定のケースでは、ローカルで実行されている MongoDB データベースを Docker コンテナ内で実行されている Go アプリケーションに接続する際に問題に直面しています。

問題は Docker 環境の分離にあります。 Docker 内でアプリケーションを実行すると、アプリケーションは独自のネットワーク構成を持つ仮想環境で動作します。これは、ローカル MongoDB データベースにコンテナのネットワークから直接アクセスできないことを意味します。

これを解決するために、Docker は特別な IP アドレス host.docker.internal を提供します。これは、コンテナ内のホスト マシンの IP アドレスにマップされます。ネットワーク。 MongoDB 接続文字列でこの IP アドレスを使用すると、コンテナとローカル データベース間の通信ギャップを埋めることができます。

「CreateSession: no到達可能なサーバー」エラーに対処する変更された接続文字列は次のとおりです。

mongodb://host.docker.internal:27017/database

ホスト名として host.docker.internal を使用すると、アプリケーションはローカル MongoDB データベース内で実行されている場合でも接続を確立できます。 Docker コンテナ。

以上がローカル MongoDB データベースを Docker コンテナ内で実行されている Go アプリケーションに接続するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。