#postgresql #azure #dns #containers
#postgresql #azure #dns #контейнеры
Вопрос:
Я пытался подключиться к базе данных Postgresql, работающей в Azure, для которой я включил правило, разрешающее подключение для всех.
Однако, когда я пытаюсь подключиться к БД из контейнера, запущенного в экземпляре контейнера Azure, я получаю ошибки подключения к БД:
getaddrinfo EAI_AGAIN my-db-name.postgres.database.azure.com
Я могу нормально подключиться к БД со своего Mac.
Комментарии:
1. Добро пожаловать в Stack Overflow. Пожалуйста, предоставьте минимальный, воспроизводимый пример вашего кода.
2. Есть какие-либо обновления по этому вопросу?
3. Спасибо @NancyXiong и @Connell. О’Доннелл. Я исправил ошибку, сменив ОС с Alpine linux на Debian stretch-slim. Поэтому, когда я делал
nslookup
это изнутри контейнера на хост БД, я получал противоречивый ответ. Смена ОС сработала как по волшебству!
Ответ №1:
Если вы убедились, что разрешили всем подключаться к вашей базе данных Postgresql. Вы можете проверить, может ли ACI успешно получить доступ к Интернету. Пожалуйста, обратите внимание, что исходящий IP-адрес от ACI отличается от IP-адреса доступа к вашему ACI.
Кроме того, вы можете проверить, настроили ли вы свой образ контейнера для прослушивания тех же портов, которые вы предоставляете в своей группе контейнеров со ports
свойством, или правильных портов для вашей службы Postgresql db.
Вы можете посмотреть на эту распространенную проблему несоответствия портов для получения более подробной информации. Пожалуйста, дайте мне знать, если вам нужна дополнительная помощь в этом случае.