Egy egyedi PostgreSQL 18 image magyar locale-lal és előre telepített extensionökkel.
Az image a hivatalos postgres:18.4-bookworm képre épül, és az alábbi kiegészítéseket tartalmazza:
hu_HU.UTF-8 localepgvectorpg_cronpg_stat_statementspg_stat_kcacheAz image indításkor automatikusan preloadolja a szükséges extensionöket, első inicializáláskor pedig létrehozza őket az adatbázisban.
linux/amd64linux/arm64Lokális build:
./make.sh local
Multi-arch build és push Docker Hubra:
./make.sh push
A push mód automatikusan létrehoz és használ egy külön docker-container buildx buildert, így nem a Docker Desktop alapértelmezett docker driverére támaszkodik.
Egyedi image név vagy platform lista megadásával:
IMAGE_NAME=myrepo/postgres:18 ./make.sh local
PLATFORMS=linux/amd64,linux/arm64 ./make.sh push
BUILDER_NAME=mybuilder ./make.sh push
Egyszerű indítás:
docker run -d \
--name postgres18 \
-e POSTGRES_PASSWORD=secret \
-p 5432:5432 \
dimenziokft/postgres:18
Perzisztens adatkötettel:
docker run -d \
--name postgres18 \
-e POSTGRES_DB=app \
-e POSTGRES_USER=app \
-e POSTGRES_PASSWORD=secret \
-v postgres17-data:/var/lib/postgresql/data \
-p 5432:5432 \
dimenziokft/postgres:18
Az image a következő PostgreSQL beállításokat adja hozzá indításkor:
shared_preload_libraries=pg_cron,pg_stat_statements,pg_stat_kcache
cron.database_name=${POSTGRES_DB}
Ezért a pg_cron, pg_stat_statements és pg_stat_kcache külön kézi preload nélkül használható.
Első inicializáláskor az image létrehozza az alábbi extensionöket:
vectorpg_cronpg_stat_statementspg_stat_kcacheFontos: a docker-entrypoint-initdb.d scriptek csak akkor futnak le, amikor a PostgreSQL adatkönyvtár még üres. Ha már létező volume-ot használsz, az extensionök létrehozását kézzel kell pótolni.
Futó konténer esetén ellenőrizheted az extensionöket:
docker exec -it postgres18 psql -U app -d app -c "SELECT extname FROM pg_extension ORDER BY extname;"
Példa a preloadolt libraryk ellenőrzésére:
docker exec -it postgres18 psql -U app -d app -c "SHOW shared_preload_libraries;"
Az image a hivatalos PostgreSQL image szokásos változóit támogatja, például:
POSTGRES_DBPOSTGRES_USERPOSTGRES_PASSWORDPGDATAA cron.database_name automatikusan a POSTGRES_DB értékét követi. Ha ez nincs megadva, az alapértelmezett adatbázis a postgres.
A pgvector telepítve és létrehozva van, de nem része a shared_preload_libraries listának, mert ehhez az extensionhöz nincs szükség preloadra.
Content type
Image
Digest
sha256:9d4eb0357…
Size
157.5 MB
Last updated
3 months ago
docker pull dimenziokft/postgres:18