какой порт мне нужно открыть в Perl-контейнере для подключения oracle db-контейнера - PullRequest
1 голос
/ 30 октября 2019

Я запускаю oracle db в контейнере с незащищенным портом 1521. У меня есть другой контейнер perl. Вот что показывает docker ps:

CONTAINER ID   NAME        IMAGE             COMMAND                  CREATED             STATUS                    PORTS
bb8686d87c66    perl      perl:5.16         "/usr/bin/supervisor…"   5 minutes ago       Up 5 minutes  
9e37dff4c19e    oracle    oracle:12.2.0.1   "/bin/sh -c 'exec $O…"   41 hours ago        Up 41 hours (healthy)   0.0.0.0:1521->1521/tcp , 5500/tcp   oracle        

Я могу пропинговать из контейнера perl в контейнер оракула. Но я не могу сделать то же самое от оракула до Perl. Я не выставляю порты в образе perl. Нужно ли предоставлять какой-либо порт для этого ??

У меня есть link.conf файл для conlinater perl, который соединяет oracle db с perl

 LINKS=' --link oracle:oracle'

Наконец, я хочу использовать скрипт perlв контейнере perl для подключения к схеме. Могу ли я сделать это с моими нынешними конфигурациями?

1 Ответ

2 голосов
/ 30 октября 2019

Если я понимаю вашу проблему. У вас есть экземпляр Oracle, подключенный к некоторому порту. У вас есть код perl и вы хотите получить доступ к Oracle.

Вам не нужно предоставлять какой-либо порт в контейнере perl (если только он не предоставляет какой-либо сервис, доступ к которому вы хотите получить вне этого контейнера). Если вы просто хотите поговорить с контейнером oracle, вам не нужно показывать на нем какой-либо порт.

В вашем контейнере perl вам просто нужно подготовить строку db-connection. Поскольку вы используете стратегию LINKS, вы должны иметь возможность подключиться к ней, используя имя: «oracle» в качестве имени хоста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...