WebAPI(Python) + Worker + Nginx + Redis + Postgresql 環境をDockerで

Dockerを使い始めてしばらくすると、意外と手持ち無沙汰感に襲われます。

Docker単体だと1プロセスのみですが、多くのWebサービスやAPIなどはデータベースや
ワーカーなどが存在します。

1コンテナだけだとどうしても開発環境を再現できません。
そうしてdocker-composeに手を伸ばします。

NginxやPostgresqlとの連携が、network作ったりなんだりと一番めんどくさい。
僕が使用する基本的なdocker-composeを書き溜めします。

WebAPI + Worker + Nginx + Redis + Postgresql を
docker-composeで構築する方法を残します。

一応Postgresqlを使用していますが、Mysqlでもほぼ一緒です。
またpythonのフレームワーク(Flask)を使用していますが。
実際RailsでもFastAPIでもnodejs Expressでも同じです。

キモはnetwork_modeです。
nginx が自動でdnsを解決してくれるので
かなり優秀です。

docker-compose最高ですね。



じゃあね〜〜〜〜。