带有一个挂载点的 Docker 多 postgres 容器
Posted
技术标签:
【中文标题】带有一个挂载点的 Docker 多 postgres 容器【英文标题】:Docker multi postgres containers with one mount point 【发布时间】:2021-04-08 05:08:56 【问题描述】:我有两个 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 中看不到它。
但如果我杀死并再次运行容器,那么我可以在两个主题中看到插入的数据。
为什么会这样? 有没有办法在主题之间同步数据?
【问题讨论】:
【参考方案1】:在同一个文件上运行两个 postmaster 进程肯定会导致数据损坏。不要那样做。
您不能使用标准 PostgreSQL 进行多主复制,但您可以拥有只读备用服务器。
【讨论】:
以上是关于带有一个挂载点的 Docker 多 postgres 容器的主要内容,如果未能解决你的问题,请参考以下文章
通过 boot2docker 将卷挂载到 postgres 容器
docker-compose spring boot无法连接到Postgres [重复]