2017-06-19 72 views
0

我在同一個主機上運行一個tomcat容器,我已經部署了一個Web應用程序和一個Oracle數據庫容器。從Web應用程序連接到Oracle數據庫泊塢窗容器

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 

因爲我揭露了1521端口的主機,我期待能夠連接到:我使用以下設置的設置,從Web應用程序到Oracle數據庫連接容器Oracle DB無任何問題,而且,我可以使用上述設置使用DbVisualizer從筆記本電腦連接到Oracle DB。我也進入了tomcat容器,併成功地讓主機成功。

我知道我可以在運行「docker run」命令時連接兩個容器,但我想知道它是否也可以這樣工作。

任何想法?謝謝!

回答

1

一個簡單的方法來做到這一點是使用泊塢窗 - 撰寫:

泊塢窗,compose.yml

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

的主機數據庫到應用程序將 「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使用網絡別名功能來設置與docker-compose文件中的服務名稱相匹配的別名。 – programmerq