2017-12-15 19 views
0

で失敗しました:DataGrip接続は次のように私はドッカーコンテナを作成したPostgresのドッカー

docker run -e POSTGRES_USER=docker -e POSTGRES_PASSWORD=docker -e POSTGRES_DB=docker library/postgres

は、私が今照会しDatagripに接続します。 Datagripで接続をセットアップしようとすると、失敗します。 DataGrip Connection Failed Error 私はポート5432172.17.0.2ように出てきたinspect container <container_id>

からホストIPをフェッチ。

参照のため、画像を参照してください。 Config Settings for the containerしかし、私はDataGripに接続しようとすると接続が失敗し続けます。

誰もそれについてどうやって知っていますか?

+0

接続に失敗したのはクレデンシャルが悪いためではありませんか? DatGripはどこで動作していますか?あなたは 'psql'を使ってコマンドラインから接続をテストしようとしましたか? – larsks

答えて

0

DataGripがPostgresを実行しているコンテナに接続できなかった理由は、コンテナのどのポートも公開していないからです。この場合は5432です。

すなわち172.17.0.2、あなたのケースbridgeでドッキングウィンドウコンテナのネットワーク内のコンテナの内部IPアドレスは、である、あなたがフェッチされたコンテナのIPアドレスは、デフォルトのネットワークあなたのコンテナを使用すると、docker run--network={NETWORK}オプションを指定しなかった場合に接続します。

コンテナの「実際の」IPアドレスを見つける方法はありますが、それらは必ずあなたの目的に役立つように複雑すぎます。

docker run -e POSTGRES_USER=docker -e POSTGRES_PASSWORD=docker -e POSTGRES_DB=docker -p 5432:5432 library/postgres

:あなたのPostgresのコンテナに接続するDataGripための最も簡単な方法は、実行することにより、あなたのポートを公開5432してホスト・マシンの同じポート(またはその他の使用可能なポート)にマップにあります-p 5432:5432オプションが付いています。

その後、ホストとしてlocalhostを指定してDataGripからコンテナに接続できるはずです。 Please see this screenshot for reference.

関連する問題