Filled Postgres server as Docker image - Mailing list pgsql-general

From Bernd Graf
Subject Filled Postgres server as Docker image
Date
Msg-id b0a061b5-f133-41ff-822f-cd06c82b5963@gmx.de
Whole thread Raw
Responses Re: Filled Postgres server as Docker image  (Matthias Apitz <guru@unixarea.de>)
Re: Filled Postgres server as Docker image  (Justin Clift <justin@postgresql.org>)
List pgsql-general
Hi,

for development and testing (integration testing) I want to have a
Docker image with a pre-filled Postgres database. It should be a simple
and quick task to spin-up this database, e.g., in a docker compose setup.

Suggested solutions to achieve this goal are

(1) To place initialization scripts at /docker-entrypoint-initdb.d and
do the filling of the DB when the container is started the first time ->
I want to avoid this, as it takes 20 minutes

(2) To mount a volume to /var/lib/postgresql and have the data there ->
I want to avoid this, as it requires to move and maintain the data
folder separately

Not suggested (at least this is what I found at mailing lists and at
StackOverflow) is to burn the data into the container image. However,
the reasons that are mentioned in these discussions "data is gone when
the container is gone ..." is not my concern.

As it is not easy to write a Docker build to achieve my goal, I would
like to ask if there are reference projects / Docker build processes
that perform this workflow? Reason why I consider it as not too easy: I
have to manually start the Postgres server ignoring the intended
entry-point script and then fill it with my data.

Looking forward to your comments/suggestions!

Bernd





pgsql-general by date:

Previous
From: Ryan Kelly
Date:
Subject: Re: Import csv to temp table
Next
From: Matthias Apitz
Date:
Subject: Re: Filled Postgres server as Docker image