Я запускаю два контейнера в модуле: один основан на debian:wheezy
, другой mysql:5.6
.
Когда я вхожу во второй контейнер, я могу вызвать клиент MySQL mysql
без проблем.
Когда я вхожу в 1-й контейнер и вызываю клиент MySQL mysql
(после apt-get install -y mysql-client
), Я получаю это сообщение об ошибке:
ERROR 2002 (HY000):
Can't connect to local MySQL server through socket
'/var/run/mysqld/mysqld.sock' (2)
Я предполагаю, что это связано с тем, что два контейнера используют свои собственные файловые системы, а сокет существует только во втором контейнере.
Есть ли простой способ заставить клиент MySQL работать в 1-м контейнере, в то время как сервер MySQL работает во 2-м и все еще использует сокеты?
Решение состоит в вызове клиента MySQL во втором контейнере следующим образом:
mysql -host 127.0.0.1
Это будет сила клиент, чтобы установить соединение TCP / IP вместо использования файла сокета Unix. (localhost
в этом случае не годится.)