2017-06-19 15 views
0

私は、WebアプリケーションとOracle DBコンテナを配置したTomcatコンテナを同じホスト上で実行しています。私は、Oracle DBコンテナにWebアプリケーションから接続するには、次の設定を使用していた設定:私はホストにポート1521を暴露していたようWebアプリケーションからOracle DBドッカー・コンテナに接続

spring.datasource.url: jdbc:oracle:thin:@<IP of the host>:1521:xe 
spring.datasource.username=sa 
spring.datasource.password= 
spring.datasource.driverClassName=com.mysql.jdbc.Driver 

は、私がに接続できるように期待していましたOracle DBに問題はなく、さらに、上記の設定を使用してDbVisualizerを使用してラップトップからOracle DBに接続できます。私もtomcatのコンテナに入って、成功してホストにpingしました。

「ドッカー実行」コマンドを実行しているときに両方のコンテナをリンクできることはわかっていますが、この方法でも動作するかどうかは疑問でした。

アイデア?ありがとう!

答えて

1

これを行うための簡単な方法は、ドッキングウィンドウ-コンを使用している:

ドッキングウィンドウ-compose.yml

version:'3' 
services: 
    app: 
    // if you got a custom dockerfile 
    build: . 
    links: 
     - db 
    db: 
    image: oracledb 

アプリにDBホストます "DB": spring.datasource.url: jdbc:oracle:thin:db:1521:xe

実行するには同じ時間に買ったcontanierは:docker-compose up --build

あなたが役に立ったと思う。

+0

ドイツ語を教えていただきありがとうございます。私はドッカーの作文について知っていますが、私のセットアップもうまくいくはずです。 – despadina

+0

ちょうど副作用として、これは実際にドッカーで構成する特定のものではありません。デフォルトでは、同じ 'docker network create'ネットワークに接続されているすべてのコンテナは、接続したいコンテナの' --name'でIPアドレスを解決できます。 '--net-alias'を使ってエイリアスを追加する方法もあります。フックの下で、docker-composeは、net alias機能を使用して、docker-composeファイルのサービス名と一致するエイリアスを設定します。 – programmerq

関連する問題