Ruby on Rails 환경을 Docker로 구축하고 RubyMine으로 디버깅 (Mac Book Pro)
Ruby on Rails 환경을 Docker로 구축하고 RubyMine으로 디버깅 (Mac Book Pro)
재구축할 때를 위해 메모해 둡니다.
로컬을 별로 더럽히지 않고 구축할 수 있는 것이 장점입니다.
개발을 진행하는 동안 문제점이 나오면 업데이트 해 나가려고 생각합니다.
참고문헌
Docker, RubyMine 설치
Mac에 설치하는 것은, 이 2 종류만으로 OK입니다.
설치 프로그램을 다운로드하여 실행합니다.
Docker 설정, 실행
/Users/hoge/dev/docker/test/Dockerfile
Dockerfile
FROM ruby:2.3.3
RUN apt-get update -qq && \
apt-get install -y build-essential libpq-dev nodejs
RUN mkdir /myapp
WORKDIR /myapp
ADD Gemfile .
ADD Gemfile.lock .
ENV BUNDLE_JOBS=4 \
BUNDLE_PATH=/bundle
RUN bundle install
ADD . .
/Users/hoge/dev/docker/test/docker-compose.yml
리모트 디버그 필요 없다고 하는 경우는 이하의 커멘드를 위쪽(#command:의 부분)으로 전환하면 Rails 서버가 통상 기동합니다.
docker-compose.yml
version: '2'
services:
web:
build: .
#command: bundle exec rails s -p 3000 -b 0.0.0.0
command: bundle exec rdebug-ide --port 1234 --dispatcher-port 26162 --host 0.0.0.0 -- bin/rails s -b 0.0.0.0 -p 3000
container_name: web
depends_on:
- db
ports:
- "127.0.0.1:3000:3000"
- "127.0.0.1:1234:1234"
- "127.0.0.1:26162:26162"
stdin_open: true
tty: true
volumes:
- .:/myapp
volumes_from:
- bundle
db:
image: postgres
bundle:
image: busybox
volumes:
- /bundle
/Users/hoge/dev/docker/test/Gemfile
Gemfile
source 'https://rubygems.org'
gem 'rails', '5.0.0.1'
group :development, :test do
# remote debug
gem 'ruby-debug-ide'
gem 'debase'
end
/Users/hoge/dev/docker/test/Gemfile.lock
Gemfile.lock
※ 이 이후의 명령은 『/Users/hoge/dev/docker/test』로 이동하여 실행합니다.
$ cd /Users/hoge/dev/docker/test
$ docker-compose build
$ docker-compose run web rails new . --force --database=postgresql --skip-bundle
$ vi config/database.yml
database.yml
config=/opt/local/lib/postgresql84/bin/pg_config
default: &default
adapter: postgresql
encoding: unicode
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
development:
<<: *default
database: app_development
username: postgres
host: db
test:
<<: *default
database: app_test
production:
<<: *default
database: app_production
username: app
password: <%= ENV['APP_DATABASE_PASSWORD'] %>
$ docker-compose run web bundle install
$ docker-compose run web rake db:create
$ docker-compose run web rails generate scaffold user name:string age:integer
$ docker-compose run web rake db:migrate
정지시킬 때는 'docker-compose down'이 아니라 'docker-compose stop'이 좋습니다.
$ docker-compose up
RubyMine으로 원격 디버깅
Remote root folder :/myapp
로컬 루트 폴더 :/Users/hoge/dev/docker/test
★ Gem 설치 방법을 아래에 추가했습니다. ぃ tp // 코 m / 코지마 4 twt / ms / 32b15 a 50d0552172118 a
Reference
이 문제에 관하여(Ruby on Rails 환경을 Docker로 구축하고 RubyMine으로 디버깅 (Mac Book Pro)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kojima4twt/items/7995a09ac7d1b307b48b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)