Postgresql単体はDocker or docker-compose

djangopostgresql を使ってると、DBを使ってるとは言えその扱いはフレームワークに一任してあり、実際に何をやってるかは勉強になりません。

研究の方でsqliteではないDBを使うことになり、postgresqlを使うことにしました。(もちろんDockerで)

本題

調べていると、postgresqlはdocker-composeで動かしている例が多いのですが、これはなぜなんでしょう。docker-composeの中には結局一つのサービスしか登録されてないので、docker単体で動かしても問題なさそうですが。

結論は分からなかったですが、いくつか理由といえそうなものをまとめておきます

毎回設定を書くのが面倒だから

dockerコマンドで起動しようとすると、毎回ポート番号などを指定しなければならないですが、docker-composeなら書いておける

Docker で作る postgres 環境 | Crudzoo

環境変数をファイルで渡せる

開発ならいざ知らず、環境変数べた書きは確かにちょっと、みたいなとこありますね

dockerでPostgreSQLのコンテナ作成と初期化 - Qiita

どうせコンテナ増える

このご時世、DB単体で使うケースはそのまま少ないというのはありそうです。どうせいろいろくっつけるし最初からdocker-compose使うか、って

Why you should use Docker Compose | EnterpriseDB

んー

疑問は解決されなかったですが、統一見解がないことが分かったのでよしとします。

その他参考

公式Dockerイメージ PostgreSQL メモ - Qiita

Docker Hub公式PostgreSQLで初期化ずみデータベースコンテナを作る - Qiita