XDebug, PHPStorm и Docker-контейнер

О настройке xdebug в PHPStorm уже написали три тыщи человек и еще xandeadx. А я только добавлю на память то, чего не хватает для проброса отладчика в IDE прямо из действующего контейнера docker.
Предполагается что в конфиге (например /etc/php5/mods-available/xdebug.ini) уже есть что-то вроде

zend_extension=/usr/lib/php5/20100525/xdebug.so
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000

Тогда пробросить отладчик от действующему контейнера к IDE очень просто с помощью ssh-туннеля. Включаем внутри контейнера ssh, а с хоста (то есть не из контейнера) создаем туннель:
(здесь предполагается, что IP контейнера — 172.17.0.2)

ssh -R 9000:localhost:9000 username@172.17.0.2

Как только туннель будет налажен — можно начинать слушать PHP Debug connections в PHPStorm-е и запускать отладчик в браузере. Все должно подхватиться.

Комментарии