初めに
Ruby アプリケーションを Docker コンテナ内でデバッグする際に、binding.pry
を使いたいと思ったことはありませんか?この記事では、Docker 環境で binding.pry
を設定する手順を解説します。
ステップ 1: Gemfile に pry を追加
まず、Gemfile
に pry-byebug
を追加します。
gem 'pry-byebug'
これで、bundle install
を実行
bundle install
ステップ 2: docker-compose.yml の設定
docker-compose.yml
ファイルを作成または編集して、デバッグ用の設定を追加します。
docker-compose.yml
web:
build: .
command: bash -c "rm -f tmp/pids~
/////↓この2文を追加
stdin_open: true
tty: true
ステップ 4: binding.pry の追加
デバッグしたい箇所に binding.pry
を追加します。
def some_method
# ここでデバッグを行う
binding.pry
end
ステップ 5: コンテナの起動とデバッグ
コンテナを起動し、デバッグを行います。
docker-compose up -d
binding.pry
に到達すると、コンソールでデバッグセッションが開始されます。コンテナのログにアタッチするためには、別のターミナルで以下のコマンドを実行します。
docker attach <コンテナ名>
<コンテナ名>
は docker ps
コマンドで確認できます。
これで、Docker 環境内で binding.pry
を利用してデバッグができるようになりました。ぜひ試してみてください!