title: Using xdebug through Docker container in PhpStorm
body: <p>I've read some posts about this but none helped in my case or simply overlooked the missing piece.</p>
  
  <p>I cannot get xdebug to work on PhpStorm using a Docker container.</p>
  
  <p><strong>Docker-compose.yml</strong></p>
  
  <pre><code>version: '2'
  
  services:
    web:
      image: nginx:latest
      volumes:
      - .:/usr/share/nginx/html
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf
      - ./nginx/logs:/var/logs/nginx
      - ./nginx/site-enabled/default.conf:/etc/nginx/sites-enabled/default.conf
      ports:
      - "80:80"
      depends_on:
      - php
  
    db:
      image: mysql:5.7
      environment:
        MYSQL_ROOT_PASSWORD: 1234
        MYSQL_DATABASE: local_db
        MYSQL_USER: root
        MYSQL_PASSWORD: 1234
      ports:
      - "3306:3306"
  
    php:
      build: images/php
      volumes:
      - .:/usr/share/nginx/html
      - ./config/docker/php/php.ini:/usr/local/etc/php/php.ini
      - ./config/docker/php/ext-xdebug.ini:/usr/local/etc/php/conf.d/ext-xdebug.ini
      - ./config/docker/php/php-fpm.conf:/usr/local/etc/php-fpm.conf
      user: www-data
      depends_on:
      - db
  </code></pre>
  
  <p><strong>config/docker/php/ext-xdebug.ini</strong></p>
  
  <pre><code>zend_extension="/usr/lib/php7/xdebug.so"
  xdebug.remote_enable=1
  xdebug.remote_port=9000
  xdebug.overload_var_dump=1
  xdebug.default_enable=1
  xdebug.remote_autostart=1
  xdebug.idekey=PHPSTORM
  xdebug.remote_connect_back=1
  xdebug.remote_host=172.20.0.1 # ip of host inside docker container
  xdebug.remote_log=/usr/share/nginx/html/xdebug.log
  </code></pre>
  
  <p><strong>error from xdebug.log</strong></p>
  
  <pre><code>Log opened at 2017-05-31 11:01:14
  I: Checking remote connect back address.
  I: Checking header 'HTTP_X_FORWARDED_FOR'.
  I: Checking header 'REMOTE_ADDR'.
  I: Remote address found, connecting to 172.20.0.1:9000.
  W: Creating socket for '172.20.0.1:9000', poll success, but error: Operation now in progress (29).
  E: Could not connect to client. :-(
  Log closed at 2017-05-31 11:01:14
  </code></pre>
  
  <p>In PhpStorm I'm using remote debugger with following settings:</p>
  
  <p><strong>server</strong></p>
  
  <pre><code>Host - 127.0.0.1  
  Port - 80 
  </code></pre>
  
  <p><strong>Absolute path on server</strong></p>
  
  <pre><code>/usr/share/nginx/html
  </code></pre>
  
  <p><strong>IDE session key</strong></p>
  
  <pre><code>PHPSTORM
  </code></pre>