はじめに
Dockerを使ってRuby on Railsの環境構築をした際に、デバックの仕方に困ったので、そのメモ書きになります。
今回はpry-railsを使ってのデバックです。
Gemfile
Gemfileに以下を追記します
group :development, :test do
gem 'pry-rails' ★追加
end
pry-railsがインストールされるようにします。
docker-compose.yml
Gemfileに以下を追記します
app:
tty: true ★追加
stdin_open: true ★追加
これはdocker runコマンドの -it オプションと同じで、
dockerでの操作結果等がコンソールに出力されるようにする設定です。
binding.pryの記述
デバックしたいRubyのソースに下記を追記してください。
binding.pry
Dockerイメージを再構築
これまでの変更があるので、イメージを再構築します。
docker-compose build --no-cache
Dockerを立ち上げ
docker-compose up
Railsサーバーにアタッチ
docker attach でRailsサーバーにアタッチします。
docker attach コンテナ名又はコンテナID
以上で、binding.pryの部分で処理が止まるようになっているはずです。