開発環境と本番環境の違い
先日、RailsアプリをAWSにデプロイしました
早速デプロイしたアプリの修正を行おうとローカルで起動しようとしたら起動せず..
それもそのはず。開発環境ではdocker-composeを使ってDBを起動してましたが、本番環境ではRDSを使ってるので、docker-composeから削除してあったのです
いちいちコメントアウトしたりして書き換えることもできるでしょうが、どこを修正すべきかわからなくなったりしそうで怖いし、何より面倒ですよね
開発環境用docker-compose ファイルを作る
- 本番環境用ファイル=
docker-compose-prod.yaml
- 開発環境用ファイル=
docker-compose-dev.yaml
今回はすでにデプロイしてしまってるので、開発環境用のファイルだけ追加で作ることにします
起動方法
開発環境で起動する場合は
$ docker compose -f docker-compose-dev.yaml up -d
-fオプションでファイルを指定できるんですね
Dockerfileも変更したい場合
- 本番環境=
Dockerfile.prod
- 開発環境=
Dockerfile.dev
ビルドするなら
$ docker build -f Dockerfile.dev
docker-composeで起動するなら
docker-compose-prod.yamlversion: '3'
services:
app:
build:
context: .
dockerfile: "Dockerfile.dev"
- context ・・・ Dockerfileの所在
- dockerfile ・・・ Dockerfileの名称
のふたつを記載してあげる