连接Oracle数据库容器和Java应用程序容器(Docker)
我现在正在一个docker项目中使用两个docker容器 – 一个用于oracle数据库,另一个用java应用程序。
oracle db的容器工作正常。 我使用了已经build好的oracle映像,并在其中创build了我的表空间和用户。
我用来拉和使用oracle db容器的命令如下:
docker pull wnameless/oracle-xe-11g docker run -d -p 49160:22 -p 49161:1521 -e ORACLE_ALLOW_REMOTE=true wnameless/oracle-xe-11g
现在我有我自己的Java应用程序与Oracle数据库交互,我使用下面的命令运行它:
docker run -it --name mypgm myrepo/oracletesting
它运行一个交互式java程序,要求提供Oracle数据库的详细信息,并允许用户与数据库进行交互。
但是我不知道如何指定详细信息,如驱动程序名称,连接URL,用户名和密码
我给的价值如下:
驱动程序名称:oracle.jdbc.OracleDriver连接URL:jdbc:oracle:thin:@ localhost:1521 :orcl11g用户名:imtheuser密码:**********
我不知道什么地方出了问题,但它不工作。 我在检查Docker容器的IP地址后也试着给Connection URL提供不同的input:
连接URL:jdbc:oracle:thin:@ 172.17.0.2:1521:orcl11g
我给连接URL和/或端口号是否正确? 有人可以帮助我正确连接这两个容器,并让项目移动?
感谢您的亲切帮助..
你必须链接容器。 oracle容器应该有一个名字。
尝试以下方法:
docker network create my-network # Create a network for containers docker run -d -p 49160:22 -p 49161:1521 --network my-network --name oracle-db -e ORACLE_ALLOW_REMOTE=true wnameless/oracle-xe-11g docker run -it --network my-network --name mypgm myrepo/oracletesting
使用连接url作为以下stringjdbc:oracle:thin:@ oracle-db:1521:orcl11g
您可以在oracle连接string中使用一个域名: oracle.dbhost.com
,并在--addhost oracle.dbhost.com:[ip address]
运行应用时使用--addhost oracle.dbhost.com:[ip address]
,或者configuration一个dns来parsing域名。