Невозможно получить доступ к контейнеру докера базы данных с родительского хоста
Мне удалось успешно запустить Docker-контейнер базы данных Oracle. Я вижу информацию о порте для доступа к базе данных в пользовательском интерфейсе Kitematic. Также я могу пропинговать IP-адрес (192.168.99.100) контейнера Docker. Но когда я пытаюсь получить доступ к базе данных с помощью SQL или Plus, я получаю ошибки
Вот как я пробовал в sqlplus
sqlplus system/oracle@192.168.99.100:1521:xe
Я получил ошибку, как показано ниже
ORA-12545: Connect failed because target host or object does not exist
Я также пытался получить доступ sqlplus system/oracle@192.168.99.100:1521/xe
но я получил ошибку, как показано ниже
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
Глядя на эту ошибку, я вижу, что что-то не так с слушателем оракула TNS. Но как мне это исправить в случае запуска докера?
1 ответ
Поскольку ответ был дан ОП в качестве комментария, он приходит как ответ:
Я узнал основную причину всех этих проблем. Я запускал базу данных оракула внутри контейнера Docker. Контейнер работает поверх виртуальной коробки Oracle. Размер виртуального диска по умолчанию был 20 ГБ, и он почти заполнен. Oracle не удалось записать журналы при запуске сервера. Когда я увеличиваю размер своего виртуального диска, все эти проблемы устраняются.
— бабс84