Я использую Symfony 4 в Docker для создания проекта и столкнулся с небольшой проблемой.Всякий раз, когда я пытаюсь что-то сделать с базой данных через функции Doctrine (в моем случае flush()
или find()
), я получаю ошибку SQL:
SQLSTATE [HY000] [2002] Соединение отклонено,
Я погуглил проблему и нашел решение изменить 127.0.0.1
в переменной URL базы данных в файле .env
на localhost
, что я и сделал, но потом я начал получать другую ошибку:
SQLSTATE [HY000] [2002] Нет такого файла или каталога
По иронии судьбы, когда я гуглил этот, я получил предложение изменить localhost
назадна 127.0.0.1
, так что теперь я застрял между этими двумя проблемами.
Все остальное, связанное с базой данных (например, представление базы данных, которое я использую в PhpStorm, или команды консоли, связанные с Doctrine), похоже, работает нормально.
В чем может быть проблема?Я добавляю файл .env
и часть файла docker-compose.yml
, относящуюся к SQL, но, пожалуйста, скажите, могу ли я предоставить какой-либо другой код, который мог бы помочь идентифицировать проблему. Файл
.env:
APP_ENV=dev
DB_USER=nox
DB_PASS=password
DATABASE_URL=mysql://nox:password@localhost:3306/project
RABBIT_MQ_MANAGEMENT_PORT=15672
MYSQL_PORT=3306
NGINX_PORT=8886
Часть SQL в файле docker-compose.yml:
mysql:
image: mysql:5.7
volumes:
- ./docker/mysql/data:/var/lib/mysql
ports:
- 127.0.0.1:${MYSQL_PORT}:3306
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DB_NAME: ${MYSQL_DB_NAME}
container_name: core_mysql