我正在尝试在已经有一些数据的docker中运行我的数据库,但是当我在docker中运行它时,它会显示为空..那么如何在docker PostgreSQL映像中还原我的数据库。
答案 0 :(得分:0)
首先,启动您的docker posgtres容器。然后执行以下命令:
docker exec -i <CONTAINER> -U <USER> -d <DB-NAME> < <PATH-TO-DUMP>
<CONTAINER>
:容器ID或容器名称<USER>
:PostgreSQL DBMS的用户。如果您使用没有特定配置的标准postgres图像,则用户为postgres
<DB-NAME>
:数据库的名称。该数据库应该已经存在。您可以在运行postgres容器时通过指定一个名为POSTGRES_DB
<PATH-TO-DUMP>
:在此处指定转储文件的路径 示例:
docker exec -i mypostgres psql -U postgres -d mydb < backup.sql
希望这会有所帮助。
答案 1 :(得分:0)
当我对Pdi Jobs进行docker化时,出现此错误。
错误(版本8.3.0.0-371,由buildguy于2019-06-11 11.09.08生成8.3.0.0-371):发生错误,处理将停止: 2019/10/31 05:02:03-表input.0-尝试连接数据库时发生错误 2019/10/31 05:02:03-表输入0- 2019/10/31 05:02:03-表input.0-连接数据库时出错:(使用org.postgresql.Driver类) 2019/10/31 05:02:03-表input.0-拒绝连接到localhost:5432。检查主机名和端口是否正确以及邮局主管正在接受TCP / IP连接。 2019/10/31 05:02:03-表output.0-错误(版本8.3.0.0-371,由buildguy从2019-06-11 11.09.08生成8.3.0.0-371):初始化该步骤时发生错误:
我的docker-compose文件:
版本:“ 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
datawarehouse-db: 图片:postgres:10 重新启动:“否” 环境: POSTGRES_DB:数据仓库 POSTGRES_USER:postgres POSTGRES_PASSWORD:管理员
卷: postgres数据: pgdata: