Написал `docker-compose` файл со следующим содержанием:
version: '2'
services:
php:
image: chialab/php:7.3-fpm
container_name: exchange-php
working_dir: /app
volumes:
- .:/app
environment:
- APP_ENV=test
mysql:
image: mysql:5.7
container_name: exchange-mysql
volumes:
- './docker/mysql/my.cnf:/etc/mysql/my.cnf'
ports:
- 33060:3306
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=test_db
- MYSQL_USER=test_user
- MYSQL_PASSWORD=test_password
Хочу подключиться к базе данных:
docker exec exchange-php php -r "new PDO('mysql:host=exchange-mysql;port=33060;charset=utf8', 'test_user', 'test_password');"
Получаю ошибку: `SQLSTATE[HY000] [2002] Connection refused`
Захожу в контейнер mysql и проверяю слушает mysql все IP:
$ docker exec -it exchange-mysql bash
$ mysqld --verbose --help | grep bind-address
--bind-address=name IP address to bind to.
bind-address 0.0.0.0
Так же проверил, что пользователю разрешена авторизация:
mysql> SELECT host, user FROM mysql.user;
+-----------+---------------+
| host | user |
+-----------+---------------+
| % | root |
| % | test_user |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+-----------+---------------+
5 rows in set (0.00 sec)
Что необходимо сделать, что бы осуществить подключения к mysql используя php и docker?