Postgresql 如何使用卷从docker中的转储文件或sql文件恢复数据库?

Postgresql 如何使用卷从docker中的转储文件或sql文件恢复数据库?,postgresql,docker,docker-compose,docker-volume,Postgresql,Docker,Docker Compose,Docker Volume,我试图在docker中运行我的数据库,其中已经有一些数据,但当我在docker中运行它时,它将为空。。那么如何在docker PostgreSQL映像中恢复我的数据库。首先,启动docker posgtres容器。然后执行以下命令: docker exec-i-U-d :容器ID或容器名称 :PostgreSQL数据库管理系统的用户。如果使用没有特定配置的标准postgres映像,则用户是postgres :数据库的名称。此数据库应该已经存在。通过指定名为postgres\u db的环境变量,

我试图在docker中运行我的数据库,其中已经有一些数据,但当我在docker中运行它时,它将为空。。那么如何在docker PostgreSQL映像中恢复我的数据库。

首先,启动docker posgtres容器。然后执行以下命令:

docker exec-i-U-d

  • :容器ID或容器名称
  • :PostgreSQL数据库管理系统的用户。如果使用没有特定配置的标准postgres映像,则用户是
    postgres
  • :数据库的名称。此数据库应该已经存在。通过指定名为
    postgres\u db的环境变量,可以在运行postgres容器时创建db
  • :在此处指定转储文件的路径
示例:
docker exec-i mypostgres psql-U postgres-d mydb


希望这能有所帮助。

我在dockerize Pdi作业时遇到此错误

错误(buildguy从2019-06-11 11.09.08版本8.3.0.0-371,版本8.3.0.0-371):发生错误,处理将停止: 2019/10/31 05:02:03-表输入。0-尝试连接到数据库时出错 2019/10/31 05:02:03-表格输入。0- 2019/10/31 05:02:03-Table input.0-连接到数据库时出错:(使用类org.postgresql.Driver) 2019/10/31 05:02:03-表输入.0-与本地主机的连接:5432被拒绝。检查主机名和端口是否正确,邮政局长是否接受TCP/IP连接。 2019/10/31 05:02:03-表格输出.0-错误(版本8.3.0.0-371,buildguy从2019-06-11.09.08构建8.3.0.0-371):初始化此步骤时出错:

我的docker撰写文件:

版本:“3.1”

服务: pdijobs: 图片:pdijobs 重新启动:始终 建造: 上下文:。 dockerfile:dockerfile

volumes:
- ./data/jasper-data:/usr/local/tomcat/webapps
ports:
  - "8080:8080"
depends_on:
  - datawarehouse-db
environment:
  DB_TYPE: postgresql
  DB_HOST: datawarehouse-db
  DB_NAME: data-warehouse
  DB_USER: postgres
  DB_PASSWORD: admin
数据仓库数据库: 图片:博士后:10 重新启动:“否” 环境: POSTGRES_DB:数据仓库 POSTGRES\u用户:POSTGRES POSTGRES_密码:admin

卷数: 研究生数据:
pgdata:

您能否更清楚地说明如何启动docker容器?默认情况下,postgresql容器将其数据存储在容器本身中。如果删除它并重新启动容器,所有数据都将消失。尝试将卷装入docker容器:我有数据库的转储和sql文件,如何在docker db.FYI中恢复,我正在windows计算机上运行docker。可能还会显示用于启动容器的
docker run命令
。我收到此错误:-OCI runtime exec failed:exec failed:container\U linux。go:346:启动容器进程导致“exec:\”-U\:在$PATH中找不到可执行文件”:未知请在原始帖子中提供更多细节。告诉我们你从一开始就采取的所有步骤。这么少的信息很难帮助你。嘿。。。非常感谢你。你的命令对我有用。这是我的打字错误。我真傻。谢谢。