如何从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文件。它为我工作。让我们知道如果这也适用于你。

祝你好运