Я использую докер для разработки проекта symfony, и у меня проблема с mysql. Вот моя конфигурация в моем .env symfony:
DATABASE_URL=mysql://bpp:[email protected]:3306/bdd
когда я запускаю команду php bin/console d:s:u --force, база данных хорошо обновляется. К минусам, когда я хочу зарегистрировать форму, у меня возникает ошибка подключения к symfony.
Вот мой докер конфигурации:
version: '3.7'
services:
apache:
build: .docker/apache
container_name: bpp_apache
ports:
- "80:80"
volumes:
- .docker/config/vhosts:/etc/apache2/sites-enabled
- ${SYMFONY_APP}:/home/wwwroot/bpp
depends_on:
- php
mysql:
image: mysql:8
container_name: bpp_mysql
volumes:
- ./.docker/data/db:/var/lib/mysql
command:
- "--default-authentication-plugin=mysql_native_password"
- "--lower_case_table_names=1"
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
ports:
- "3306:3306"
php:
build: .docker/php
container_name: bpp_php
volumes:
- ${SYMFONY_APP}:/home/wwwroot/bpp
depends_on:
- mysql
links:
- mysql
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: bpp_phpmyadmin
environment:
PMA_HOST: mysql
PMA_PORT: 3306
ports:
- "8080:80"
Спасибо за помощь.






Измените конфигурацию .env для URL-адреса mysql. от
DATABASE_URL=mysql://bpp:[email protected]:3306/bdd
к
DATABASE_URL=mysql://bpp:bpp@mysql:3306/bdd
Причина кроется в самом докере. Вы подключаете две услуги: PHP и MySql, которые работают на разных IP-адресах внутри сети докеров. Каждый раз, когда вы запускаете файл докера, вы запускаете 3 контейнера:
И служба MySql не находится по адресу 127.0.0.1. Оставьте это встроенному DNS-серверу.
с DATABASE_URL=mysql://bpp:bpp@mysql:3306/bdd работает но против php bin/console команда d:s:u --force уже не работает
В драйвере возникло исключение: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Höte inconnu.
Мне кажется, что с URL все в порядке. Попробуйте написать еще раз вручную, возможно, в строке есть символ, отличный от UTF.
Хм, попробуйте использовать "bpp_mysql" вместо "mysql" или просто удалите имя контейнера из файла докеров.
та же проблема с bpp_mysql или удалить имя контейнера
Удалите ссылки - mysql из контейнера php, и он должен работать
Прочитать это inanzzz.com/index.php/post/su76/…