2016-11-10 8 views
1

私は外部(ドッキングされていない)oracleデータベースと対話する必要のあるドッキングされたアプリケーションを持っています。docker-composeはコンテナIDを持つextra_hostsを使用します

ファイルのlocalhostエントリにhostnameコマンドの結果を追加した場合に限り、アプリケーションはローカルマシンで動作します。そうでなければ私はORACLEDBドライバからエラーが出ます:

Caused by: oracle.net.ns.NetException: Listener refused the connection with the following error: ORA-12514, TNS:listener does not currently know of service requested in connect descriptor

私は再構築後に、このマニュアルのステップを避けたい、私の容器にログインして、手動で/etc/hostsを編集することができます。このファイルを最新の状態に保つにはどうすればよいですか?

さらに、ドッカーで設定されたhostnameはコンテナIDです。

docker-compose.ymlファイル内からコンテナIDを参照する方法はありますか?

答えて

1

おそらく、簡単な方法はコンテナの特定のホスト名に設定されていますか?

docker-composeファイルにhostname: fooを設定し、docker idに基づいてホスト名fooを代わりに使用します。

+0

計画がうまくいくと思います。 – nha

関連する問題