如何从Docker容器生成Postgresql转储?
我想有一种方法进入Postgresql容器,并从中获取数据转储。
使用以下命令进入UNIXterminal:
docker exec <container_name> pg_dump <schema_name> > backup
以下命令将只转储所有表中的插入:
docker exec <container_name> pg_dump --column-inserts --data-only <schema_name> inserts.sql
我有容器命名为postgres与安装卷-v /backups:/backups
备份gziped数据库my_db我使用:
docker exec postgres pg_dump -U postgres -F t my_db | gzip >/backups/my_db-$(date +%Y-%m-%d).tar.gz
我现在有
user@my-server:/backups$ ls my_db-2016-11-30.tar.gz
另一个解决方法是使用mountpoint启动postgre sql到docker中的转储位置。
像docker run -v <location of the files>
。 然后在docker运行容器上执行docker检查
docker inspect <image_id>
你可以在里面find“Volumes”标签和相应的位置。到这个位置,你可以find所有的postgresql / mysql文件。它为我工作。让我们知道如果这也适用于你。
祝你好运