Comments 4
Не вижу смысла в настройке NAT, так как 172.18.0.1 доступен из хостовой сиcтемы, таким образом, SSH туннель можно построить сразу c 172.18.0.1:9003
ssh -R 172.18.0.1:9003:127.1:9003 my-user@example.com
Попробовал настроить на другом сервере без настроек NAT и с Вашим вариантом создания туннеля. К сожалению, это не сработало.
Запустил dbgpClient на своем ПК, а из контейнера с PHP-FPM пытался обратиться на 172.18.0.1:9003
- подключение не удавалось. При запуске dbgpClient на внешнем сервере, из контейнера на этот адрес удается достучаться.
Но как только добавил правила для NAT и перезапустил туннель, как писал в статье, то все заработало.
Вообще можна использовать вместо xdebug.client_host=172.18.0.1
Можна использовать внутрений хост: host.docker.internal
Или также можна юзать ip от docker0 bridge - он как бы тоже константный.
Правда по линуксом если не юзать docker desktop нужно будет отдельно добавлять хостhost.docker.internal:host-gateway
Настройка Xdebug 3 на внешнем сервере в Docker-контейнере через SSH-туннель