Comment on Is it possible to have just one DB across all services
thomas@lemmy.zell-mbc.com 1 year ago
You would expose the port to your host which makes the db acessible by anything running on the host, docker or native. Something like `port
- 5432:5432 `
But I would recommend running a dedicated db for each service. At least that’s what I do.
- Simpler setup and therefore less error-prone
- More secure because the db’s don’t need to be exposed
- Easier to manage because I can independently upgrade, backup, move
Isn’t the point about containers that you keep things which depend on each other together, eliminating dependencies? A single db would be a unecessary dependency in my view. What if one service requires a new version of MySQL, and another one does not yet support the new version?
I also run all my databases via a bind mount
volume ./data:/etc/postgres/data…
and each service in it’s own directory.
E.g. /opt/docker/nextcloud
That way I have everything which makes up a service contained in one folder. Easy to backup/restore, easy to move, and not the least, clean.
Ricaz@lemmy.world 1 year ago
I would just have Postgres running statically on some solid hardware. It’s easy to configure permissions and connections, too.
Not too hard to set up streaming replication for a hot standby if you wanna be sure (or offload some reads).
I use Postgres btw