Для службы phpmyadmin
, я думаю, вы должны установить переменные окружения PMA_HOST
и PMA_PORT
следующим образом:
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: sf4_phpmyadmin
environment:
PMA_HOST: mysql
PMA_PORT: 3306
ports:
- 8080:80
links:
- mysql
В вашем контейнере mysql должна быть инструкция command
в началеустановите плагин аутентификации (есть проблема с коннекторами с mysql 8), подробнее здесь
mysql:
image: mysql
container_name: sf4_mysql
command: "--default-authentication-plugin=mysql_native_password"
volumes:
- .docker/data/db:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: sf4
MYSQL_USER: sf4
MYSQL_PASSWORD: sf4
в вашем приложении Symfony, строка подключения находится в файле .env
и должен иметь следующий формат:
DATABASE_URL = mysql: // mysql_user : mysql_user_password @ mysql_host : mysql_port / db_name
mysql_user : ваш пользователь mysql (например, root)
mysql_user_password :пароль пользователя (например, root)
mysql_host : должен содержать имя службы контейнера MySQL, расположенное в вашем файле docker-compose.yml
(в данном случае mysql)
mysql_port : внутренний порт контейнера mysql (в данном случае 3306)
db_name : thБаза данных, к которой вы хотите подключиться.
, DATABASE_URL может выглядеть так:
DATABASE_URL=mysql://root:root@mysql:3306/sf4
остановите ваши контейнеры после этих изменений и запустите их снова.
Надеюсь, это поможет.