HippoBlog
Web開発に関する備忘録や
日々の雑記ブログ
  • #Ruby on Rails
  • 2019年8月20日
ENTRY TITLE

[rails] docker/railsをvscodeでデバッグ

TEXT BY @hippohack@hippohack
TEXT BY @hippohack@hippohack
  • このエントリーをはてなブックマークに追加

ずっとデバッグしたい箇所でraiseで止めてbetter_errorsで確認してたが、いよいよステップ実行の必要が出てきたのでやってみた。

参考サイトだけではうまくいかなかったのでもろもろ確認用にメモ。

環境

  • docker on mac
    • docker-compose
    • ruby2.6
    • rails5.2
  • vscode
    • エクステンション
      • ruby
        • それにともなうもろもろのインストールもいるかも

各調整

[Gemfile]

group :development do
    ︙
    gem 'debase'
    gem 'ruby-debug-ide'
    ︙
end

[launch.json]

{
  "version": "0.2.0",
  "configurations": [
      {
          "name": "Local Docker - Listen for rdebug-ide",
          "type": "Ruby",
          "request": "attach",
          "cwd": "${workspaceRoot}",
          "remoteHost": "0.0.0.0",
          "remotePort": "1234",
          "remoteWorkspaceRoot": "/usr/src/bookmarks",
          "useBundler": true
      }
  ]
}

[docker-compose.yml]

version: '3'
services:
  app:
    build: .
    command: bundle exec rdebug-ide --host 0.0.0.0 --port 1234 --dispatcher-port 26162 -- bin/rails s -p 3000 -b '0.0.0.0'
    volumes:
      - /Users/Benzoh/Develop/bookmarks-server/bookmarks:/usr/src/bookmarks
    ports:
      - 3000:3000
      - 1234:1234
      - 26162:26162
    depends_on:
     - db
  db:
    build: ./docker/db
    ︙
    ︙

  • docker-compose up後、▶(デバッグスタート)を押してサーバースタートする必要あり。
  • デバッグ止めるとサーバーも落ちるのがちょっと不便。
  • ブレイクポイントで止まらないという事象は自分にはなし。

つまった点

  • remoteWorkspaceRoot コンテナ内のドキュメントルートの設定
  • docker-composeのcommandでのrails sのホスト漏れ

参考サイト


最後までお読みいただき、ありがとうございました。

もし、この記事が役に立ちましたら、ぜひ「いいね!」 をよろしくお願いいたします。

ご意見などありましたら@hippohackへお願いいたします。

  • このエントリーをはてなブックマークに追加