自分はRubyのデバッグにはpry-byebugを利用しています。
pry-byebugは、デバッグしたいポイントにbinding.pry
を仕込むことでその時点でアプリが停止し、デバッグをすることができます。
問題点
フォアグラウンドでdocker-compose up
すると、binding.pryを仕込むことで以下のようなログが表示されます。
アプリの実行は中断されますが、あくまでログが表示されているだけなのでこのコンソール上でデバッグはできません。
web_1 | 9: def index
web_1 | 10: binding.pry
web_1 | => 11: end
web_1 |
解決方法
docker attachでRubyアプリケーションのコンテナに入るとデバッグできます。
$ docker attach ${container_id}
### エンターキーを押すとデバッグができる
[1] pry(#<HomeController>)>