Gagal karena Postgres tidak berjalan di wadah selama pembangunan, itu hanya dimulai di CMD
saat sebuah kontainer berjalan.
Skrip titik masuk untuk gambar Docker memiliki dukungan untuk menjalankan langkah penyiapan - file .sql atau .sh apa pun di /docker-entrypoint-initdb.d
direktori akan dieksekusi ketika wadah dimulai.
Jadi Anda dapat melakukan ini dengan meletakkan pengaturan ekstensi Anda dalam skrip SQL, dan menyalin skrip ke dalam gambar di direktori init:
> cat hstore.sql
create extension hstore
> cat Dockerfile
FROM postgres:9.5
COPY hstore.sql /docker-entrypoint-initdb.d
Saat Anda membuat image tersebut, skrip SQL akan berada di tempat yang tepat untuk dieksekusi, jadi setiap kali container dijalankan dari image, ia akan menginstal ekstensi.