Dockerでbinding.pryをする

binding.pryを使いたくなったのですが、Dockerだとターミナルにpryのコンソールが出てくれません。。。

そこでどうすればいいか調べ、うまく行ったのでその方法をメモしておこうと思います!

 

 

手順

①処理を止めたい場所にbinding.pryをかく

これは普通の時と同じ手順です。

処理を止めたい箇所にbinding.pryを書きます。

 

def index
#処理
binding.pry
#処理
end

 

 

②止めたアクションをブラウザで動かす

これも普通の時と同じです。

今回はindexアクションにbinding.pryを書いたので、ブラウザでindexアクションが呼ばれるページへいきます。

すると処理が止まってくれます。

 

 

docker attach コンテナID でrails serverにattachする

以下のコマンドでrailsのコンテナIDを確認します。

$ docker container ls

 

確認できたら、docker attach コンテナID コマンドでrails serverにattachします。

$ docker attach c3f2458****

[1] pry(#<Admin::UsersController>)>

 

 

すると、いつものpryコンソールが出現してくれます!!