我正在自己的网络上运行最新的oracle容器和tomcat容器tomcat:9.0.22-jdk8,并且使用了以下命令:
docker network create mynetwork
docker run -dit -p 8080:8080 -e JPDA_ADDRESS=8000 -p 8000:8000 -e JAVA_OPTS=’-Dconfig.file=/usr/local/tomcat/temp/config.properties -Xmx512m’ --name rcmc rcm-container:0.1 catalina.sh jpda run
docker run -dit -p 1521:1521 --name rcmdb rcmoracledatabase:0.1
docker network connect mynetwork rcmc
docker network connect mynetwork rcmdb
使用这些tnsnames.ora条目,我可以从桌面登录数据库容器而不会出现任何问题:
ORCLCDB=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=0.0.0.0)(PORT=1521))
(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCLCDB.localdomain)))
ORCLPDB1=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=0.0.0.0)(PORT=1521))
(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCLPDB1.localdomain)))
当我尝试从Web应用程序登录http://localhost:8080/时,出现服务器500错误,但以下情况除外:
oracle.net.ns.NetException:网络适配器无法建立连接 java.sql.SQLRecoverableException:IO错误:网络适配器无法建立连接
我尝试了以下JDBC连接字符串,但似乎无法连接到oracle容器。
jdbc:oracle:thin:@rcmdb:1521:ORCLCDB jdbc:oracle:thin:@rcmdb:1521:ORCLCDB.localdomain jdbc:oracle:thin:@ 0.0.0.0:1521:ORCLCDB jdbc:oracle:thin:@ 0.0.0.0:1521:ORCLCDB.localdomain
这些命令可在我同事的笔记本电脑上使用,但他在桌面上运行docker工具箱
我的码头工人信息 内核版本:4.9.184-linuxkit 操作系统:Docker Desktop 操作系统类型:linux
他的码头工人信息 内核版本:4.14.116-boot2docker 操作系统:Boot2Docker 18.09.6(TCL 8.2.1) 操作系统类型:linux
我想念什么吗?我需要检查任何设置吗?
提前感谢您提供任何信息。
答案 0 :(得分:0)
在阅读此documentation时,以下内容起作用了
jdbc:oracle:thin:@ host.docker.internal:1521:ORCLCDB