Я использую последний контейнер 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)))
Когда я пытаюсь войти в систему из моего веб-приложения по адресу http://localhost:8080/, я получаю ошибку сервера 500 со следующими исключениями:
oracle.net.ns.NetException: сетевому адаптеру не удалось установить соединение. Java.sql.SQLRecoverableException: ошибка ввода-вывода: сетевому адаптеру не удалось установить соединение
Я пробовал следующее соединение 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
Эти команды работают на ноутбуке моего коллеги, но он запускает панель инструментов докера на своем компьютере. настольный
Моя информация о докере Версия ядра: 4.9.184-linuxkit Операционная система: Docker Desktop OSType: linux
Информация о его докере Версия ядра: 4.14.116-boot2docker Операционная система: Boot2Docker 18.09.6 (TCL 8.2. 1) OSType: linux
Я что-то упустил? Есть ли какие-либо настройки, которые мне нужно изучить?
Заранее спасибо за любую информацию.