docker×railsでbinding.pryを動かす
ドッカーを起動していて、rails 内のデバックしたいなと思ったときに調べました。
下準備と参考記事は以下です。
railsのgemにはすでに
gem 'pry-byebug'
が入っていたので
docker-composeに下記を追加で使用できました
/////↓この2文を追加
stdin_open: true //stdin_open:標準入力への接続を表す。
tty: true //tty:標準出力の接続を表す
///////////////
docker-compose.yml
web:
build: .
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
/////↓この2文を追加
stdin_open: true
tty: true
///////////////
volumes:
- .:/myapp
ports:
- "3000:3000"
depends_on:
- db
私のドッカーコンテナ構造は3つで成り立っており
docker-compose up
Starting nuxt_twitter_db_1 ... done
Starting nuxt_twitter_api_1 ... done
Starting nuxt_twitter_front_1 ... done
この3つの中のnuxt_twitter_api_1コンテナがrailsのコンテナです。
rails の中でデバック(binding.pry)などをする場合は
docker-compose up
のあとに、別のターミナルを開き
docker attach コンテナ名
私の場合は
docker attach nuxt_twitter_api_1
このコードでdockerコンテナのnuxt_twitter_apiにはいりrailsのターミナルいじくり回すことができます
この記事が気に入ったらサポートをしてみませんか?