我怎样才能debugging我的docker与PHPStorm

我search了很多,我尝试了很多。 我的问题很简单:“我怎样才能用PHPStormdebugging我的docker。

这是我的docker-compose.ymlremote-host ip是docker0的ip。

 nginx: build: ./nginx/ ports: - 80:80 links: - php volumes_from: - app php: build: ./php/ expose: - 9000 links: - mysql volumes_from: - app environment: XDEBUG_CONFIG: "remote_host=172.17.0.1" app: image: php:5.6-fpm volumes: - .:/var/www/html command: "true" mysql: image: mysql:latest volumes_from: - data environment: MYSQL_ROOT_PASSWORD: secret MYSQL_DATABASE: project MYSQL_USER: project MYSQL_PASSWORD: project data: image: mysql:latest volumes: - /var/lib/mysql command: "true" phpmyadmin: image: phpmyadmin/phpmyadmin ports: - 8080:8080 links: - mysql environment: PMA_HOST: mysql 

这是我的PHP容器Dockerfile

 FROM php:5.6-fpm RUN docker-php-ext-install pdo_mysql RUN yes | pecl install xdebug \ && echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \ && echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/xdebug.ini \ && echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/xdebug.ini 

我运行这个commnad

 $ docker-compose build $ docker-compose up -d 

这是我的PHPStorm设置

在这里输入图像说明

这不适合我,我错过了什么? 感谢您的帮助。

你所撰写的YAML和Dockerfile中的所有内容看起来都是正确的。 尝试将xdebug.remote_connect_back=On添加到您的xdebug.ini文件中。 另外,出于debugging的目的,请尝试在PHPStorm设置中使用端口80而不是端口9000(现在不要使用nginx)。

另外,确保172.17.0.1可以从你的容器(通常是这样)到达。 一种可以肯定的方法是在容器中运行/sbin/ip route|awk '/default/ { print $3 }' 。 它应该返回172.17.0.1