繁体   English   中英

如何在Windows 10 Docker上从tar文件还原Postgres数据

[英]How to restore postgres data from tar file on windows 10 docker

Namastey,

我使用以下命令为数据量创建了backup.tar文件:

docker run --rm --volumes-from dockerproject_gobidb_1 -v C:\Users\pp\Desktop\dockerProject:/backup ubuntu tar cvf /backup/backup.tar /var/lib/postgresql/data

为了还原卷,我使用了以下命令:

docker run -v dockerproject_postgresGobiData:/var/lib/postgresql/data --name dbstore2 ubuntu /bin/bash

接着

docker run --rm --volumes-from dbstore2 -v C:\Users\hp\Desktop\dockerProject:/backup ubuntu bash -c "cd /var/lib/postgresql/data && tar xvf /backup/backup.tar --strip 1"

可是我跑的时候

'docker-compose up --detach'

以下是我的撰写文件:

version: '3'

services:
  #agar gobidb nhi chaltaa hai to hum db kaa upyog kar sakte hai
  gobidb:
    image: postgres
    restart: always
    environment:
    - POSTGRES_PASSWORD=yavdhesh
    - POSTGRES_USER=yavdhesh
    volumes:
    - postgresGobiData:/var/lib/postgresql/data
    ports:
    - 8880:5432

  adminer:
    image: adminer
    restart: always
    ports:
      - 8800:8080

  #postgres:
  #  image: postgres  # this will use httpd:latest
  #  environment:
  #    - POSTGRES_PASSWORD=example
  #  restart: always 
  # postgresGobiData:<space denaa aavashyak hai>{} ye rakhene se hum pehle se sthit volume kaa upyog kar paayenge
volumes:
  postgresGobiData: {}

我收到以下错误: 在此处输入图片说明

请建议我。 我想重用backup.tar中的数据 在此处输入图片说明

脚步:

使用以下方法进行备份:

pg_dump -h localhost -U postgres  shridhar -Fc > /backup/db.dump

并使用还原:

pg_restore -d db_name /backup/dump_name.tar -c -U "shridhar"

终于,ing了一段时间后,我得到了答案。 我们也可以使过程自动化。

您可以使用以下命令手动备份(postgres)数据-

  1. 使用exec -it命令打开正在运行的数据库容器。

     docker container exec -it <container-name> bash -l 
  2. 创建一个/backup目录,然后运行以下命令。

     pg_dump -h localhost -U postgres yavdhesh -Fc > /backup/db.dump 

    或者,您也可以运行以下命令。

     pg_dumpall -l "yavdhesh" -U "yavdhesh" -W > db.dump 
  3. 备份数据。

     psql -d yavdhesh -U yavdhesh -f db.dump 

    或者您可以运行以下命令:

     pg_restore -d db_name /backup/dump_name.tar -c -U "yavdhesh" 

这些命令专用于postgres,但是您可以将其作为参考来创建自己的命令。 希望能帮助到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM