@apaicer

CMS не видит MySQL в Docker контейнере?

Задался целью запустить сайт, когда MySQL будет лежать в Docker-контейнере.

Имеется:
Докер-контейнер:
CONTAINER ID   IMAGE                    COMMAND                  CREATED        STATUS                  PORTS                                 NAMES
38890df7ee0b   mysql/mysql-server:5.7   "/entrypoint.sh mysq…"   13 hours ago   Up 13 hours (healthy)   33060/tcp, 127.0.0.1:3310->3306/tcp   mysql


Проблема в том, что CMS не видит его как localhost. (см.скриншот)
603cc4499b372115222507.png
603cc4522238a799174856.png

1635 строка:
mysqli_real_connect( $this->dbh, $host, $this->dbuser, $this->dbpassword, null, $port, $socket, $client_flags );


Все привилегии выданы.

mysql> show grants for 'mto'@'localhost';
+------------------------------------------------------+
| Grants for mto@localhost                             |
+------------------------------------------------------+
| GRANT USAGE ON *.* TO 'mto'@'localhost'              |
| GRANT ALL PRIVILEGES ON `mto`.* TO 'mto'@'localhost' |
+------------------------------------------------------+
2 rows in set (0.00 sec)

mysql> show grants for 'mto'@'%';
+----------------------------------------------+
| Grants for mto@%                             |
+----------------------------------------------+
| GRANT USAGE ON *.* TO 'mto'@'%'              |
| GRANT ALL PRIVILEGES ON `mto`.* TO 'mto'@'%' |
+----------------------------------------------+
2 rows in set (0.00 sec)


При этом если подключаться так, все ок:

mysql -umto -h127.0.0.1 -P3310 -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.


А если не указывать явно порт, подключение не проходит

mysql -umto -h127.0.0.1:3310 -p
Enter password: 
ERROR 2005 (HY000): Unknown MySQL server host '127.0.0.1:3310' (2)


Подскажите, как это дело подружить?

Намеренно хочу, чтобы в докере была только MYSQL, закинуть все в контейнеры не предлагать.
  • Вопрос задан
  • 606 просмотров
Пригласить эксперта
Ответы на вопрос 1
index0h
@index0h
PHP, Golang. https://github.com/index0h
Похоже у вас фактическое подключение происходит не через localhost, а на ip контейнера.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы