2016-05-25 3 views
1

Теперь я работаю над проектом докеров с двумя контейнерами докеров - один для dacer oracle, а другой с java-приложением.Подключение контейнера Oracle DB и приложения Java Container (Docker)

Контейнер для 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 DB и позволяет пользователям взаимодействовать с БД.

Однако я не мог понять, как я должен указать детали, такие как Driver Имя, URL соединения, имя пользователя и пароль

Значения, которые я дал такие, как приведены ниже:

Название драйвера : oracle.jdbc.OracleDriver Connection URL: JDBC: оракул: тонкий: @локального хоста: 1521: orcl11g Имя пользователя: imtheuser Пароль: **********

Я не знаю, что происходит не так, а где-то не работает. я попытался дать различные входы для подключения URL после проверки докер контейнера IP-адрес, а также:

соединения URL: JDBC: оракул: тонкий: @172.17.0.2:1521: orcl11g

Я правильно ли указываю URL-адрес подключения и/или номер порта? Может ли кто-нибудь помочь мне правильно подключить эти два контейнера и заставить проект двигаться?

Спасибо за вашу любезную помощь ..

+0

Необходимо использовать dockerlinks https: //docs.docker. com/v1.8/userguide/dockerlinks/ – Rudy

+0

@abrahamjaison вы решили? Если да, просьба предоставить ответ – quento

ответ

0

Вы можете использовать доменное имя в строке соединения оракула: oracle.dbhost.com и использовать --addhost oracle.dbhost.com:[ip address] при запуске вашего приложения в докер, или настроить DNS для разрешения имени домена.

1

Необходимо связать контейнеры. Контейнер 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 для следующей строки: оракула JDBC: тонкий: @ оракул-дб: 1521: orcl11g

Смежные вопросы