docker-composeでWebアプリ開発する環境をまとめた(Rails, Flask)
最近、Mac などのローカルには極力 rbenv などをインストールせずにできる限り Docker コンテナ上に開発環境を作ろうとしています。
開発中はdocker-composeを使っているのですが、いろいろなリポジトリに似たような docker-compose.yml
が増えてきたのでテンプレート代わりにまとめました。
リポジトリはこちら。
ディレクトリツリーはこのようになっていて、 flask-webapp
や rails-webapp
の階層で docker-compose up
すると動きます。
( rails-webapp
は先にREADMEに従って rails new .
する必要があります)
├── LICENSE
├── README.md
├── flask-webapp
│ ├── Dockerfile.d
│ │ └── development
│ │ └── webapp
│ │ ├── Dockerfile
│ │ └── requirements.txt
│ ├── README.md
│ ├── docker-compose.yml
│ └── webapp
│ └── app.py
└── rails-webapp
├── Dockerfile.d
│ └── development
│ └── webapp
│ └── Dockerfile
├── README.md
├── docker-compose.yml
└── webapp
├── Gemfile
└── scripts
└── wait-for-mysql.sh
見返してて思いましたけど docker-compose.yml
に持たせる機能と Dockerfile
に持たせる機能を見直した方がいいですね。
この先 production 向けの Dockerfile
なども置きたいのですが .dockerignore
の書き方での試行錯誤を避けると階層が深くなってしまうのが悩ましい。
あと Flask に DB の設定がないのは私が Python の ORM よくわかってないからです。