PhpStorm + Docker + Xdebug + DB SSH туннель

Локально у меня есть следующая конфигурация docker-compose:

nginx:
build:
context: ./nginx
ports:
- "80:80"volumes:
- ./../logs:/home/web/logs/
- ./../:/home/web/my-website.com/
depends_on:
- php
php:
build:
context: ./php
volumes:
- ./../:/home/web/my-website.com/
working_dir: /home/web/my-website.com/
expose:
- "8123"

php В контейнер установлен Xdebug, я легко могу подключиться к нему из PhpStorm.

У меня есть удаленная база данных ClickHouse, которая подключена через туннель SSH. Когда я запускаю свой контейнер, я просто захожу в мой контейнер и выполняю:

ssh -4 login@host.com -p 2211 -L 8123:localhost:8123 -oStrictHostKeyChecking=no -Nf

После этого мой сайт может использовать это соединение, но когда я выполняю консольную команду

./yii analysis/start-charts 003b56fe-db47-11e8-bcc0-52540010e5bc 205

от PhpStorm я получаю исключение:

Failed to connect to 127.0.0.1 port 8123: Connection refused

Если я прыгаю в контейнер и запускаю ту же команду, все работает нормально.

В чем дело? Почему PhpStorm не видит мой SSH-туннель?

1

Решение

У меня есть ответ на сайте «суперпользователя»: https://superuser.com/questions/1374463/phpstorm-docker-xdebug-db-ssh-tunnel/1375961#1375961

Кроме того, я добавил ports узел моего php определение контейнера, теперь это следующее:

  php:
build:
context: ./php
volumes:
- ./../:/home/web/my-website.com/
working_dir: /home/web/my-website.com/
expose:
- "8123"ports:
- "8123:8123"depends_on:
- redis
- mysql
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector