繁体   English   中英

Docker 无法恢复 postgres 数据库 sql 文件

[英]Docker unable to restore postgres database sql file

我已按照以下过程备份我的数据库文件。

图片1:

在此处输入图像描述

图 2:

在此处输入图像描述

单击备份后,我得到一个名为resetmarathon_db.sql的文件

然后我将此文件存储在我的项目/数据库目录中

docker-compose.yml文件中,我使用了如下示例所示的音量

volumes:
      - ./DB/resetmarathon_db.sql:/docker-entrypoint-initdb.d/resetmarathon_db.sql

这是用于 postgres 的 docker-compose.yml 文件的完整部分

resetmarathon_db:
    container_name: resetmarathon_db
    environment:
      POSTGRES_DB: resetmarathon_db
      POSTGRES_PASSWORD: postgres
      POSTGRES_USER: postgres
    image: postgres:latest
    hostname: resetmarathon_db
    restart: unless-stopped
    networks:
      - resetmarathon-network
    volumes:
      - ./DB/resetmarathon_db.sql:/docker-entrypoint-initdb.d/resetmarathon_db.sql

构建后,我只得到没有任何表的数据库表名。

如何恢复我的 sql 文件?

我的文件和文件夹结构

在此处输入图像描述

您需要在执行脚本之前创建数据库

这是一个创建数据库脚本,您可以将其保存为文件init_dbScript.sql

DROP DATABASE IF EXISTS resetmarathon_db;
CREATE DATABASE resetmarathon_db;

然后将其卷起来并确保它将在您的脚本之前执行。

volumes:
  - ./DB/resetmarathon_db.sql:/docker-entrypoint-initdb.d/resetmarathon_db.sql
  - ./DB/init_dbScript.sql:/docker-entrypoint-initdb.d/init_dbScript.sql

暂无
暂无

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

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