Итак, я провел около двух дней и не могу заставить xdebug
работать в контейнере (docker-compose config) на удаленном сервере
И я всегда получаю E: Time-out connecting to the client. :-(
Машина разработки:
- Win10 с динамическим IP-адресом
- Весь код синхронизируется в реальном времени с удаленным сервером (с помощью функции «развертывания»)
- Настроен PhpStormдля прослушивания на порте 9001: «Прослушивание отладочных подключений PHP» включено.
- Нет серверов и т. д., только сеанс отладки с нулевой конфигурацией.
Удаленный сервер:
Конфигурация xdebug:
xdebug.remote_enable=1
xdebug.remote_port=9001
xdebug.remote_log="/var/www/xdebug.log"
xdebug.remote_connect_back=1
php-fpm, jwilder / nginx-proxy, letsencrypt-companion, nginx, jeroenpeeters / docker-ssh, работающие через docker-compose.
Вот упрощенная версия docker-compose.yml:
version: "2"
networks:
default:
external:
name: nginx-proxy
services:
nginx-proxy:
container_name: nginx-proxy
image: jwilder/nginx-proxy
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./secured/certs_letsencrypt:/etc/nginx/certs:ro
- /etc/nginx/vhost.d
- /usr/share/nginx/html
restart: always
letsencrypt-companion:
container_name: letsencrypt-companion
image: jrcs/letsencrypt-nginx-proxy-companion
volumes:
- ./secured/certs_letsencrypt:/etc/nginx/certs:rw
- /var/run/docker.sock:/var/run/docker.sock:ro
volumes_from:
- nginx-proxy
restart: always
my_project_nginx:
container_name: my_project_nginx
build:
context: ./containers/nginx_ssl
args:
appcontainer: my_project_app
domain: example.com
depends_on:
- nginx-proxy
links:
- my_project_app
- nginx-proxy
environment:
- VIRTUAL_HOST=example.com
- LETSENCRYPT_HOST=example.com
- LETSENCRYPT_EMAIL=stepan@example.com
restart: always
my_project_app:
container_name: my_project_app
build:
context: .
dockerfile: ./containers/php7_1/Dockerfile
args:
idrsafile: ./secured/id_rsa_shared
php_memory_limit: 6G
depends_on:
- nginx-proxy
restart: always
my_project_ssh:
container_name: my_project_ssh
image: jeroenpeeters/docker-ssh
depends_on:
- my_project_app
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./secured/authorized_keys:/authorized_keys
ports:
- "2227:22"
environment:
- FILTERS={"name":["my_project_app"]}
- AUTH_MECHANISM=publicKey
- AUTHORIZED_KEYS=/authorized_keys
restart: always
Проблема
А есть xdebug
log:
...
I: Checking remote connect back address.
I: Remote address found, connecting to 5.18.238.83:9001.
E: Time-out connecting to the client. :-(
Я перепробовал множество вариантов (указал xdebug.remote_host, установил SSH-туннель через Putty и т. Д.), Но все еще не получил результатов.