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のターミナルいじくり回すことができます

この記事が気に入ったらサポートをしてみませんか?