(自分用)
- このリポジトリを手元にClone
$ git clone https://github.com/ishikawa999/rails_app_development_docker.git app_name
$ cd /your/path/app_name
-
.envを書き換える。
-
update_devcontainer_setting.rbを実行
$ ruby update_devcontainer_setting.rb
-
そのアプリケーション独自の設定や、自分の開発環境用のカスタマイズがしたい場合はscripts/custom_shell.shに書く(entrypointで実行される)
-
docker-compose buildする
$ docker-compose build
-
VScodeに拡張機能Remote-Containersをインストール
-
VScodeで/your/path/app_nameを開いた状態でRemote Containers: Open Folder in Container...を選択
-
起動したらターミナルで新しいタブを開き、
$ rails s -b 0.0.0.0
※うまく動かなかったらvscode側でrebuildしてみる
$ export RAILS_DB_ADAPTER=mysql2
$ export RAILS_DB_HOST=mysqldb
$ export RAILS_DB_USERNAME=root
$ bundle update
$ bundle install
$ bundle exec rake db:create
$ bundle exec rake db:migrate
$ rails s -b 0.0.0.0
デフォルトでは $APP_HOME/.git
と $APP_HOME/../share
のみを同期するようにして、速度を上げている。
ローカルのコードは .gitのみが更新されるため各ファイルの更新は行われない。ただ、.gitは更新されているため
$ git checkout .
$ git clean -df
のようにすればコンテナ上と同じ状態にすることが出来る。
その分こまめにgit commitで .git に変更が適用されるようにする必要がある。
ファイルのやりとりは $APP_HOME/../share
を介して行う。
変えたい場合はdocker-compose.ymlのvolumesを書き換える。