Docker for Mac で Ruby on Rails アプリの開発環境
workディレクトリ(なんでも構いません)を作成して
mkdir work
cd work
githubからクローンしてくる
git clone https://github.com/nuovotaka/docker-rails3.git
cd docker-rails3
「docker-compose run」コマンドで「web」コンテナに「rails new」を行う。
docker-compose run --rm web rails new . --force --skip-bundle
実行後、ディレクトリの中にRailsのファイル群が作成されている
以下の行のコメントを外す
gem 'mini_racer', platforms: :ruby
Gemfileの変更を適用するためには以下のコマンドを実行
docker-compose build
最初はデータベースを作成する(次回からは必要ない)
docker-compose run --rm web rake db:create
docker-compose up
docker-compose ps
localhost:3000 でRailsのウェルカム画面が表示されるのがわかると思う。
例 メモアプリの作成 別タブで以下のコマンドを実行する
docker-compose run web rails g scaffold Memo title:string body:text
基本的にRailsコマンドの最初に「docker-compose run web」をつけてやればコンテナ上で実行され、Mac側にも反映されます。
localhost:3000/memos でアクセスするとアプリが作成されているのがわかる。
Gemfileを変更したら、buildでイメージ作成してから、コンテナ実行すること
$ docker-compose build
$ docker-compose up
Dockerに付随してくるkitematicで停止と削除を行う
Dockerに付随してくるkitematicでMy Imagesからイメージの削除を行う
古いプロセスの削除
rm -rf tmp/pids/server.pid
そしてupする
docker-compose up
TablePlus、DB Browser for SQLiteなどを使ってデータベースを確認(Mac)