备份/恢复Dockerized PostgreSQL数据库
发布时间:2020-12-13 16:42:55 所属栏目:百科 来源:网络整理
导读:我正在按照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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |