Как я могу подключить локальный phpMyAdmin через SSH-туннель к удаленному dockerized контейнеру mySQL (example.com)? Это локальный phpMyadmin в docker compose:
pma:
image: phpmyadmin/phpmyadmin
container_name: pma
environment:
- PMA_ARBITRARY=1
- 'PMA_ABSOLUTE_URI=https://pma.local/'
volumes:
- './config.user.inc.php:/etc/phpmyadmin/config.user.inc.php'
restart: always
Это настраиваемая конфигурация для PMA:
$cfg['Servers'][$i]['verbose'] = 'Localhost';
$cfg['Servers'][$i]['host'] = 'localhost';
$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++;
$cfg['Servers'][$i]['verbose'] = 'Remote Server';
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['port'] = '3307';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['compress'] = FALSE;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$i++;
Используя Core Tunnel, я установил это на своем локальном компьютере:
Это мой тестовый контейнер на example.com:
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest
Теперь, если я введу в PMA следующее (после включения туннеля):
Server: 127.0.0.1
User: root
Password: my-secret-pw
Я получаю:
mysqli_real_connect(): (HY000/2002): Connection refused
Я действительно новичок в этом и, конечно же, делаю что-то очень плохое. Не могли бы вы дать мне несколько советов? Спасибо заранее.
Докер создает внутреннюю сеть, в которой он, возможно, лжет Mysql, введите «ifconfig» и «netstat -lptn» для просмотра данных сервера.
Попробуйте запустить докер с «--network host» и предположите, что локальный IP-адрес, mysql экземпляра будет прослушивать 127.0.0.1 или какой-либо другой IP-адрес вашего «физического» сервера.
Другой вариант - указать докеру выполнять PAT и NAT с такой опцией
-p 127.0.0.1:3107:3106
Итак, вы говорите ему, что все запросы, поступающие на все интерфейсы 127.0.0.1, поступают в экземпляр докера: 3106