Локальный phpMyAdmin для удаленного MySQL - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть локальный dockerized phpMyadmin и служба удаленного докера, работающая с контейнером mySQL.Порт 3306 не доступен в Интернете, и я использую туннель:

ssh -f user@remotedb -L 3306:127.0.0.1:3306 -N

Используя необработанный клиент mysql, я могу подключиться к службе sql, используя: 127.0.0.1/user/password.phpMyadmin не может этого достичь.Это его конфигурация:

pma:
  image: phpmyadmin/phpmyadmin
  container_name: pma
  environment:
    - PMA_ARBITRARY=1
    - 'PMA_ABSOLUTE_URI=https://pma.local/'
    - VIRTUAL_HOST=pma.local
  volumes:
    - './config.user.inc.php:/etc/phpmyadmin/config.user.inc.php'
  restart: always

И пользовательский файл php:

$cfg['Servers'][$i]['verbose']       = 'Remote Server';
$cfg['Servers'][$i]['host']          = '127.0.0.1';
$cfg['Servers'][$i]['port']          = '3306';
$cfg['Servers'][$i]['connect_type']  = 'tcp';
$cfg['Servers'][$i]['extension']     = 'mysqli';
$cfg['Servers'][$i]['compress']      = FALSE;
$cfg['Servers'][$i]['auth_type']     = 'cookie';
$i++;

Для справки я использую этот образ pma докера: https://github.com/phpmyadmin/docker. Чего мне не хватаетВот?Нужны ли мне другие порты?Большое спасибо.

1 Ответ

0 голосов
/ 26 сентября 2019

проблема в том, что в самом контейнере ничего не прослушивается на порту 3306. Порт в любом случае доступен на хосте, поэтому мое быстрое и грязное решение было бы использовать IP интерфейса docker0 (обычно 172.17.0.1).

Так что в вашем пользовательском фо-файле вы можете использовать что-то вроде этого:

$cfg['Servers'][$i]['host']          = '172.17.0.1';
...