Docker 具有一个挂载点的多个 postgres 容器

Docker multi postgres containers with one mount point

我有两个 Postgres 数据库,我想在主题之间同步数据。

目前我有这两个容器,完全一样,只是不同的帖子和不同的名字。

docker container run --name='p1' -d -p 5435:5432 -v /tmp/dbs/test/:/var/lib/postgresql/data postgres


docker container run --name='p2' -d -p 5436:5432 -v /tmp/dbs/test/:/var/lib/postgresql/data postgres  

当某些事情发生变化时就会出现问题。

如果我在 p1 中更改某些内容(例如插入一行),那么我在 p2 中将看不到它。

但是如果我再次杀掉 运行 个容器,那么我可以在两个主题中看到插入的数据。

为什么会这样?
有没有办法在主题之间同步数据?

运行 两个 postmaster 进程处理同一个文件肯定会导致数据损坏。不要那样做。

您不能使用标准 PostgreSQL 进行多主复制,但可以使用只读备用服务器。