Secondo la guida all'utilizzo dell'immagine Docker PostreSQL ufficiale, tutto ciò che serve è:
File Docker
FROM postgres
ENV POSTGRES_DB my_database
COPY psql_dump.sql /docker-entrypoint-initdb.d/
Il POSTGRES_DB la variabile di ambiente indicherà al contenitore di creare un my_database schema alla prima esecuzione.
E qualsiasi .sql file trovato in /docker-entrypoint-initdb.d/ del contenitore verrà eseguito.
Se vuoi eseguire .sh script, puoi anche fornirli in /docker-entrypoint-initdb.d/ directory.