Я хочу создать докеры, которые представляют уже существующие базы данных компаний. Аналогично, я хотел бы создать файл докеров, который начинается с восстановления дампа psql.
У меня есть psql_dump.sql
в каталоге .
.
FROM postgres
ADD . /init_data
run "createdb" "--template=template0" "my_database"
run "psql" "-d" "my_database" --command="create role my_admin superuser"
run "psql" "my_database" "<" "init_data/psql_dump.sql"
Я думал, что это будет достаточно хорошо, чтобы это сделать. Я бы хотел избежать решений, использующих .sh
script. Как это решение.
Я использую template0, так как в документации psql вам нужны те же самые пользователи, которые были в исходной базе данных, и вам нужно создать базу данных с шаблоном0 до восстановления.
Однако это дает мне ошибку:
createdb: could not connect to database template1: could not connect to server: No such file or directory
Is the server running locally and accepting
Я также использую docker compose для общего приложения, если лучше решить эту проблему в docker-compose, я был бы рад использовать базовое изображение psql и использовать компоновку docker для этого.