Проблема с резервным копированием БД с использованием pg_restore в docker контейнере - PullRequest
0 голосов
/ 26 февраля 2020

Я хочу восстановить базу данных в PostgreSQL внутри Docker контейнера, используя скрипт оболочки.

Dockerfile

FROM postgres 
ENV POSTGRES_DB zen
ENV POSTGRES_USER my_user
ENV POSTGRES_PASSWORD my_password 
COPY zen.dump ./
COPY init.sh /docker-entrypoint-initdb.d/

init. sh

#!/bin/bash
    set -e
    set -x

    echo "******PostgreSQL initialisation******"
    pg_restore -U my_user -d zen zen.backup

Я пытаюсь запустить контейнер и получаю ошибку

/usr/local/bin/docker-entrypoint.sh: sourcing /docker-entrypoint-initdb.d/init.sh
++ echo '******PostgreSQL initialisation******'
******PostgreSQL initialisation******
++ pg_restore -U my_user -d zen zen.backup
pg_restore: error: could not open input file "zen.backup": No such file or directory

Я уверен, что файл .dump скопирован в папку root, потому что я проверил его с помощью docker exe c -it (без инициализации COPY sh /docker-entrypoint-initdb.d/), поэтому я не очень понимаю в чем проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...