2017-09-11 12 views
7

私はデータベースマイクロサービスをドッキングしています。仮想ネットワークbatmanをブリッジドッキングウィンドウを使用して相互にDataGripを使用して、ドッカー仮想ネットワークの背後にあるポストグルインスタンスにアクセスするにはどうすればよいですか?

$ ssh [email protected] 
$ docker exec -it postgres bash 
docker$ psql -U postgres -h 127.0.0.1 -d postgres 

Webサービスすべての話:私は、次を使用して手動でクエリを実行することができます。 Postgresのセキュリティのベストプラクティスに合わせて

networks: 
    batman: 
    driver: bridge 

- 私はないを行うには、foo.domain.comでホストマシンにpostgresのポート5432を公開します。 「バットマン」ドッカーネットワークにも存在する兄弟コンテナのみがデータベースに接続できます。

従来のDataGrip/Postgres設定では、postgresが提供されるホストされたボックスにsshし、ローカルのpsqlクライアント(pg_hba.confのルール)を使用します。

Aドッキングシステムでは、1つの追加ステップ(exec)が必要です。

DataGripがプレフィックス接続コマンドを許可していないように見えるので、DataGripを使用してドッキング仮想ネットワークの背後にあるpostgresインスタンスにアクセスするにはどうすればよいですか?

+0

必ずDataGripではプレフィックスcを使用できませんあなたは 'psql'へのパスを指定できるようにしていますか?そうであれば、偽の 'psql'実行可能ファイルを作ることができます。 'docker exec -it postgres psql $ *'などのシェルスクリプトが含まれています。 – Birchlabs

+0

そのユーザーのログインスクリプトにそのコマンドを追加できますか?そうすれば、サーバーはDataGripに頼るのではなく自動的にサーバーを実行します。 – pucky124

+0

@Birchlabs - 可能ならば私はそれを理解することができません –

答えて

-1

私はこれが可能であるべきだと思う: screenshot of ssh/ssl tunnel option

  • をあなたの接続を設定:

    • は、SSHトンネル経由での接続をセットアップするネットワーク
    • が同じでSSHサーバーとの単純なコンテナ(batman)を追加しますネットワーク上にあるかのように(ホストはpostgres AFAIR)
  • 関連する問題