Ударил меня в 2:30 утра
У меня есть три контейнера Docker MariaDB , Nginx и PhpFpm .
MariaDB открывает 3306 / tcp - нет открытого порта, потому что все контейнеры совместно используют одну и ту же сеть Docker.
Symfony запускается в PhpFpm и предоставляется через Nginx через порт 8081.
Итак myhost.com: 8081 показывает мое приложение Symfony.
- Когда я
docker exec bash
в моем контейнере PhpFpm и выполняю схему bin/console doctrine:schema:create
, создается, MariaDB имеет новую таблицу. - Конечно, я очищаю кеш и разогреваю для APP_ENV = prod
- var / log и var / cache установили правильные разрешения.
Независимо от того, чтоЯ использую соединение PDO в контроллере моего приложения Symfony. Я получаю
Ошибка отклонения соединения
, видимая в моем prod.log внутриконтейнер.
Я пытался .env с несколькими параметрами, наиболее заметными из которых являются:
- DATABASE_URL = "mysql: // пользователь: pass @ hostname: 8084/ db "(здесь я устанавливаю -p 8084: 3306 для контейнера MariaDB)
и
DATABASE_URL = "mysql: // user: pass @ mariadbcontainername: 3306 / db" (здесь я не предоставлял порт БД, как упомянуто выше)
У кого-нибудь есть идеи, где искатьи что проверить?
Я даже могу проверить, что мои bin/console doctrine...
команды уже получают ошибку Отказ в соединении, когда я изменяю DATABASE_URL на бессмысленное значение.
PS: из-за ограничений сервераЯ не использую docker-compose, а просто запускаю Docker.