Selhává, protože Postgres během sestavování neběží v kontejneru, je spuštěn pouze v CMD
když kontejner běží.
Skript vstupního bodu pro obrázek Docker má podporu pro spouštění kroků nastavení – libovolné soubory .sql nebo .sh v /docker-entrypoint-initdb.d
adresář bude spuštěn při spuštění kontejneru.
Můžete to udělat tak, že vložíte nastavení rozšíření do skriptu SQL a zkopírujete skript do obrázku v adresáři init:
> cat hstore.sql
create extension hstore
> cat Dockerfile
FROM postgres:9.5
COPY hstore.sql /docker-entrypoint-initdb.d
Když vytvoříte tento obrázek, skript SQL bude na správném místě ke spuštění, takže kdykoli se kontejner spustí z obrázku, nainstaluje se rozšíření.