2017-10-12 11 views
1

は、私はシンプルなドッキングウィンドウ-構成別名を持っている:代わりに特定のコンテナのマシンをホストへのルート

version: '3' 
services: 
    app: 
    container_name: app 
    ports: 
     - 8081:8081 
    db: 
    container_name: db 
    ports: 
     - 5432:5432 

、デフォルトでは、このコンテナがデフォルト(brige)ネットワーク内に作成されます。 アプリケーションにはdb接続プロパティがあります:jdbc:postgresql:// db/some_db、そしてeverythigは完全に機能します。しかし、私は時々、私のホストのマシンで稼動している他のデータベースにconnectoを接続したいと思っています。ドッカーのコンテナではありません。

主な問題は、私は私の接続のプロパティを変更することはできませんということです。そして、理想的には、私はしたくないコンテナいくつかの追加のオプションを使用してdbホストを交換するたびに(ただし、再起動はOKです)

私の質問:これを実現する最善の方法は何ですか?コンテナホストの解決に追加のルートを設定することは可能ですか? exapmleの場合、dbコンテナに到達できない場合は、ホストにルーティングします。

+0

[Dockerコンテナの内部から、マシンのローカルホストに接続するにはどうすればいいですか?](https://stackoverflow.com/questions/24319662/from-inside-of-a-docker-container -h-do-i-mach-localhost-of-the-mach) – lifeisfoo

答えて

0

ホストからホストサービスにアクセスできます。
を参照してください "How to access host port from docker container":

ip addr show docker0 
docker.for.mac.localhost # docker 17.06+ June 2017 

デシベルコンテナは、その後、ホストへの経路到達不能である場合。オーケストレーターのための仕事です

。例えば
kubernetesで、あなたはそれがアクセス可能ではない場合を除き、あなたのポッドにトラフィックをリダイレクトするように調整することができexternal load balencer、関連付けることができます。

関連する問題