Docker for Mac から PHPをリモートデバッグする

以下を参考に設定した。

forums.docker.com


Macの設定

Macでターミナルを立ち上げて次のコマンドを入力

sudo ifconfig lo0 alias 10.254.254.254
Dockerfileの例(抜粋)
# PHP
RUN  echo "[Xdebug]" >> /etc/php.ini && \
    echo "zend_extension=/path/to/xdebug.so" >> /etc/php.ini && \
    echo 'xdebug.idekey = "PHPSTORM"' >> /etc/php.ini && \
    echo "xdebug.max_nesting_level=1000" >> /etc/php.ini && \
    echo "xdebug.remote_autostart=1" >> /etc/php.ini && \
    echo "xdebug.remote_host=10.254.254.254" >> /etc/php.ini && \
    echo "xdebug.remote_enable=1" >> /etc/php.ini && \
    echo "xdebug.remote_handler=dbgp" >> /etc/php.ini && \
    echo "xdebug.remote_port=49190" >> /etc/php.ini && \
    echo "xdebug.profiler_enable=1" >> /etc/php.ini && \
    echo "xdebug.profiler_output_dir=/tmp" >> /etc/php.ini && \
    echo "xdebug.remote_log=/tmp/xdebug.log" >>  /etc/php.ini 

これをビルドするとDocker上の /etc/php.ini は以下のようになる

[Xdebug]
zend_extension=/path/to/xdebug.so
xdebug.idekey = "PHPSTORM"
xdebug.max_nesting_level=1000
xdebug.remote_autostart=1
xdebug.remote_host=10.254.254.254
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_port=49190
xdebug.profiler_enable=1
xdebug.profiler_output_dir=/tmp
xdebug.remote_log=/tmp/xdebug.log
PhpStormの設定

あとはここを参考にしたらいけた
qiita.com


ちょっとトリッキーすぎる・・・。