Я использую PHP внутри официального контейнера PHP Docker, который находится здесь: https://github.com/docker-library/php
Я пытаюсь подключить приложение к внешнему серверу MySQL, используя старый mysql_connect
функция, как это то, что использует наше приложение. При попытке очень простого скрипта выдает ошибку: Warning: mysql_connect(): No route to host
,
Я проверил, что с помощью стандартного интерфейса командной строки MySQL я могу подключиться к намеченному серверу из контейнера докера, поэтому знаю, что мой контейнер может общаться с внешним миром без проблем. Подобные вещи, как file_get_contents()
работать без проблем, указывающих на отсутствие проблем DNS.
И для хоста, и для контейнера их DNS настроен на 8.8.8.8, и контейнер был запущен с --net host
флаг.
Для справки вот скрипт, который я пробовал:
<?php
mysql_connect("my-external-rds.amazonaws.com", "user", "password")
or die("Unable to connect to MySQL");
echo "Connected to MySQL<br>";
Любые идеи о том, как решить эту проблему? Я могу предоставить любую необходимую информацию.
Задача ещё не решена.
Других решений пока нет …