docker-compose.ymlを書いたら
What
DBを変えてみたり、バージョンを変えてみたりして、アプリが動くかを確認するのに、Dockerが使えそうです。
実際に構成を書いた後、どうするかをまとめておきます。
Do
docker-composeコマンドを実行する前に
既存のアプリを使うため、git cloneしておきます。その後、Gemfile.lockの "中身を" 削除しておきます (削除しておかないと、以下のようなbundlerのバージョン関係で面倒臭いエラーが発生します)。
You must use Bundler 2 or greater with this lockfile. ERROR: Service 'web' failed to build: The command '/bin/sh -c bundle install' returned a non-zero code: 20
既存のアプリ内にDockerfile, docker-compose.ymlを作成し、作りたい環境をコード化します。
注意点として、DBのuser, passwordを既存のアプリと合わせる必要があります。
環境をビルド
ファイルを作成したら、以下のコマンドで環境を作ります。
$ docker-compose build
次に、DBとTablesを作成すれば、docker-compose upでコンテナを作成できます。
$ docker-compose run web rails db:create $ docker-compose run web rails db:migrate
好きなポートと接続したり、volumeを使うことで、開発環境としても使用できます。