如何在不删除现有数据的情况下升级 Docker Postgresql?

Bla*_*ack 5 postgresql docker ubuntu-14.04 postgresql-9.5 postgresql-9.6

我是 docker 和 postgresql 的初学者。 

如何在不丢失当前数据库的情况下将 docker postgresql 9.5 升级到 9.6?仅供参考:我使用的是 ubuntu 版本 14 和 docker 17.09 

提前致谢。

wil*_*200 2

为了在 Docker 容器中保存数据,需要一个卷。该卷将直接挂载到容器的文件系统上,并在容器被终止时保留。听起来容器是在没有附加卷的情况下创建的。获取该数据的最佳方法是复制容器的数据文件夹并移动到主机文件系统。然后使用新镜像创建一个 docker 容器。将数据目录复制到正在运行的容器的数据目录,本例为 pgdata:/var/lib/postgresql/data

docker cp [containerID]:/var/lib/postgresql/data /home/user/data/data-dir/
docker stop [containerID]
docker run -it --rm -v pgdata:/var/lib/postgresql/data postgres
docker cp /home/user/data/data-dir [containereID]:/var/lib/postgresql/data
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,我只会转储当前数据库,然后将它们重新上传到新容器