簡體   English   中英

如何使用卷從 docker 中的轉儲或 sql 文件中恢復數據庫?

[英]How to restore database from dump or sql file in docker using volume?

I am trying to run my database in docker which already have some data into it, But when I run it in docker it gives empty.. So how to restore my database in docker PostgreSQL image.

首先,啟動您的 docker posgtres 容器。 然后執行以下命令:

docker exec -i <CONTAINER> -U <USER> -d <DB-NAME> < <PATH-TO-DUMP>

  • <CONTAINER> : 容器 ID 或容器名稱
  • <USER> : PostgreSQL DBMS 的用戶。 如果您使用沒有特定配置的標准 postgres 圖像,則用戶是postgres
  • <DB-NAME> :數據庫的名稱。 該數據庫應該已經存在。 您可以通過指定名為POSTGRES_DB的環境變量在運行 postgres 容器時創建數據庫
  • <PATH-TO-DUMP> :在此處指定轉儲文件的路徑

示例: docker exec -i mypostgres psql -U postgres -d mydb < backup.sql

希望這可以幫助。

當我對 Pdi Jobs 進行 dockerize 處理時,我收到了這個錯誤。

錯誤(版本 8.3.0.0-371,buildguy 從 2019-06-11 11.09.08 構建 8.3.0.0-371):發生錯誤,處理將停止:2019/10/31 05:02:03 - 表輸入.0 - 嘗試連接到數據庫時發生錯誤 2019/10/31 05:02:03 - 表 input.0 - 2019/10/31 05:02:03 - 表 input.0 - 連接到數據庫時出錯:(使用 class org.postgresql.Driver) 2019/10/31 05:02:03 - 表 input.0 - 連接到 localhost:5432 被拒絕。 檢查主機名和端口是否正確以及 postmaster 是否接受 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: image: postgres:10 restart: "no" environment: POSTGRES_DB: data-warehouse POSTGRES_USER: postgres POSTGRES_PASSWORD: admin

卷:postgres 數據:pgdata:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM