Gemäß dem Verwendungsleitfaden für das offizielle PostreSQL-Docker-Image benötigen Sie lediglich Folgendes:
Dockerfile
FROM postgres
ENV POSTGRES_DB my_database
COPY psql_dump.sql /docker-entrypoint-initdb.d/
Die POSTGRES_DB Die Umgebungsvariable weist den Container an, eine my_database zu erstellen Schema bei der ersten Ausführung.
Und jede .sql Datei gefunden in /docker-entrypoint-initdb.d/ des Containers ausgeführt wird.
Wenn Sie .sh ausführen möchten Skripte können Sie auch in /docker-entrypoint-initdb.d/ bereitstellen Verzeichnis.