Я использую образы MySQL Docker, и я могу подключиться к этому Docker с помощью mysqli_connect('mysql', 'docker', 'docker');
в php
Вот docker ps
:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c271f8e68378 afraidjpg/nginx:nginx "nginx -g 'daemon of…" 2 hours ago Up 2 hours 0.0.0.0:80->80/tcp, 0.0.0.0:10086->10086/tcp nginx
92d7c923f777 afraidjpg/php:php56 "docker-php-entrypoi…" 2 hours ago Up 2 hours 0.0.0.0:9000->9000/tcp php
68b818bd68c4 afraidjpg/mysql:mysql "docker-entrypoint.s…" 2 hours ago Up 2 hours 0.0.0.0:3306->3306/tcp, 33060/tcp mysql
Я использую опцию --link mysql
при запуске PHP Docker.
IP-адрес MySQL Docker: 172.17.0.2 .
IP-адрес моего компьютера Mac 192.168.1.50
вот пользователь в mysql:
mysql> select User, Host from mysql.user;
+--------+-----------+
| User | Host |
+--------+-----------+
| docker | % |
| root | localhost |
+--------+-----------+
2 rows in set (0.00 sec)
тогда я попытался соединить mysql с navicat и mysql-workbench
хост: 192.168.1.50, пользователь: докер, пароль: докер Access denied for user 'docker'@'%%' (using password: YES)
хост: 127.0.0.1, пользователь: докер, пароль: докер Access denied for user 'docker'@'%%' (using password: YES)
хост: 172.17.0.2, пользователь: докер, пароль: докер Can't connect to MySQL server on '172.17.0.2
все получают ошибку с Access denied for user 'docker'@'%%' (using password: YES)
если я попытался изменить пользователя с docker на root , ошибка станет Access denied for user 'docker'@'172.17.0.1' (using password: YES)
Я нашел какую-то статью раньше и следовал их шагу, но всегда терпел неудачу. Я не там, где я был неправ
вот скриншот
обновление
Я не могу пропинговать с локального на докер, и в докере нет команды ping, поэтому я не могу выполнить тест на пинг с докера на локальный
zk ~/Documents/PHP/www/docker $ ping 172.17.0.2
PING 172.17.0.2 (172.17.0.2): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
больше обновлений
Я могу подключиться к mysql командой в терминале с mysql -udocker -p --portocol=tcp
подробнее
сообщение об ошибке Access denied for user 'docker'@'%%' (using password: YES)
, said @'%%'
, я знаю, что такое «%», но что означает «%%»?