备份恢复Dockerized PostgreSQL数据库

备份恢复Dockerized PostgreSQL数据库,第1张

概述我正在按照Docker网站上的说明来备份/恢复一个PostgreSQL数据库,但数据没有恢复。 数据库映像使用的卷是: VOLUME ["/etc/postgresql", "/var/log/postgresql", "/var/lib/postgresql"] CMD是: CMD ["/usr/lib/postgresql/9.3/bin/postgres", "-D", "/var/lib 我正在按照Docker网站上的说明来备份/恢复一个Postgresql数据库,但数据没有恢复。

数据库映像使用的卷是:

VolUME  ["/etc/postgresql","/var/log/postgresql","/var/lib/postgresql"]

CMD是:

CMD ["/usr/lib/postgresql/9.3/bin/postgres","-D","/var/lib/postgresql/9.3/main","-c","config_file=/etc/postgresql/9.3/main/postgresql.conf"]

我用这个命令创建DB容器:

docker run -it --name "$DB_CONTAINER_name" -d "$DB_IMAGE_name"

然后我连接另一个容器来手动插入一些数据:

docker run -it --rm --link "$DB_CONTAINER_name":db "$DB_IMAGE_name" sh -c 'exec bash'psql -d test -h $DB_PORT_5432_TCP_ADDR# insert some data in the db<CTRL-D><CTRL-D>

然后创建tar归档文件:

$ sudo docker run --volumes-from "$DB_CONTAINER_name" --rm -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /etc/postgresql /var/log/postgresql /var/lib/postgresql

现在我删除用于数据库的容器,并创建另一个容器,具有相同的名称,并尝试恢复之前插入的数据:

$ sudo docker run --volumes-from "$DB_CONTAINER_name" --rm -v $(pwd):/backup ubuntu tar xvf /backup/backup.tar

但表格为空,为什么数据没有正确恢复?

备份您的数据库

docker exec -t your-db-container pg_dumpall -c -U postgres> dump_`date%d-%m-%Y“_”%H_%M_%S`.sql

恢复数据库

cat your_dump.sql | docker exec -i your-db-container psql -U postgres

总结

以上是内存溢出为你收集整理的备份/恢复Dockerized PostgreSQL数据库全部内容,希望文章能够帮你解决备份/恢复Dockerized PostgreSQL数据库所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1171585.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存