docker-composeでRAILS_ENVを切り替えて実行する方法を調べたのでメモ
今回はrspecを実行したいけど、わざわざdockerのコンテナの中に入って実行するのはイケてないと思い、調べたそのメモになります。
docker-compose exec test bash RAILS_ENV=test_docker rake db:migrate:reset RAILS_ENV=test_docker rspec
↑のコマンドを叩きたくないので
docker-compose exec test RAILS_ENV=test_docker rake db:migrate:reset docker-compose exec test RAILS_ENV=test_docker rspec ## rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:262: starting container process caused "exec: \"RAILS_ENV=test_docker\": executable file not found in $PATH"
と叩くと↑のようなエラーが出て上手く動きませんでした。
なので、
docker-compose run -e RAILS_ENV=test_docker test rake db:migrate:reset docker-compose run -e RAILS_ENV=test_docker test rspec
↑のようにrunする時に-eをつけると、envの指定が出来たので、上手く動きました。
ログインするというより、使い捨てのインスタンスを立てるって感じですね。