Как восстановить базу данных из файла дампа или sql в Docker, используя том? - PullRequest
0 голосов
/ 30 октября 2019

Я пытаюсь запустить мою базу данных в Docker, в которой уже есть некоторые данные, но когда я запускаю ее в Docker, она выдает пустой .. Так как восстановить мою базу данных в образе PostgreSQL Docker.

Ответы [ 2 ]

0 голосов
/ 31 октября 2019

Я получаю эту ошибку, когда докеризую Pdi Jobs.

ОШИБКА (версия 8.3.0.0-371, сборка 8.3.0.0-371 от 2019-06-11 11.09.08 от buildguy): Произошла ошибка, обработка будет остановлена: 2019/10/31 05:02:03 - Таблица input.0 - Произошла ошибка при попытке подключения к базе данных 2019/10/31 05:02:03 - Таблица input.0 - 2019/10/31 05:02:03 - Таблица input.0 -Ошибка подключения к базе данных: (с использованием класса org.postgresql.Driver) 2019/10/31 05:02:03 - Таблица input.0 - Подключение к локальному узлу: 5432 отказано. Убедитесь, что имя хоста и порт указаны правильно и что администратор почты принимает соединения TCP / IP. 2019/10/31 05:02:03 - Таблица output.0 - ОШИБКА (версия 8.3.0.0-371, сборка 8.3.0.0-371 от 2019-06-11 11.09.08 от buildguy): произошла ошибка при инициализации этого шага:

Мой docker-compose Файл:

версия: '3.1'

службы: pdijobs: image: pdijobs restart: всегда build: context:. 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 перезапуск: среда "no": POSTGRES_DB: хранилище данных POSTGRES_USER: postgres POSTGRES_PASSWORD: admin

тома: postgres-data: pgdata:

0 голосов
/ 30 октября 2019

Во-первых, запустите ваш докерский контейнер posgtres. Затем выполните следующую команду:

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

  • <CONTAINER>: идентификатор контейнера или имя контейнера
  • <USER>: пользователь СУБД PostgreSQL. Если вы используете стандартный образ postgres без какой-либо конкретной конфигурации, то пользователь будет postgres
  • <DB-NAME>: имя БД. Эта БД должна уже существовать. Вы можете создать базу данных при запуске вашего контейнера postgres, указав переменную окружения с именем POSTGRES_DB
  • <PATH-TO-DUMP>: укажите здесь путь к файлу дампа

Пример: docker exec -i mypostgres psql -U postgres -d mydb < backup.sql

Надеюсь, это поможет.

...