sha256:15283455b75304c90f51bf16b42c272a25fb52807945dc24830ec88e63cd896d
2026-02-12 21:07:31 UTC
104 MB
llvm19-dev clang19
GOSU_VERSION1.19
LANGen_US.utf8
PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PGDATA/var/lib/postgresql/data
PG_MAJOR15
PG_SHA256695ee29a77be1f5010e10f3667696f29871587f7aa311eadc1f809bea287cf48
PG_VERSION15.16
[#000] sha256:589002ba0eaed121a1dbf42f6648f29e5be55d5c8a6ee0f8eaa0285cc21ac153 - 3.54% (3.68 MB)
[#001] sha256:1cc5032597da7ed3b4b8f8eb4dee04230d70bd956d953d9eacf44238eb8aa3dd - 0.0% (973 Bytes)
[#002] sha256:22021ae8a28356faa5d6e85e5e6f7835a190e419cabf8682db75c7b93f710f56 - 0.85% (901 KB)
[#003] sha256:2b183e31c9f8ec52896ab04f0bf273d1314fe409b8af9803364881b3d952ddde - 0.0% (172 Bytes)
[#004] sha256:8b6feeda47329d685bb97cbaaaca84436911346bc286d37ee46eae33bf50000a - 0.0% (116 Bytes)
[#005] sha256:fbd2333a8b2e4af56e5abbab27d507b6779f2e8ad627ddf218e47643d2cab54a - 95.6% (99.5 MB)
[#006] sha256:d9fee99ceaeb9608351b7ef7c36ab58b36e5caf7108695508cd07d5781e88ed0 - 0.01% (9.23 KB)
[#007] sha256:2af348483d546173cba89dbe7c8a1b4c209fcc31f9815cfb9beb9b1578b00b09 - 0.0% (128 Bytes)
[#008] sha256:6385d21b14974494c7712348adcc847b595c5760c9b1c8634429f4809b0b2f46 - 0.0% (171 Bytes)
[#009] sha256:49d5e74d16499c4117e025847f3543d70ba7e231b611f580b81a4f843b90ffb9 - 0.01% (5.7 KB)
[#010] sha256:e2808358fab6d02fce52237f0ea2d8813c61d988c345aa9325f6dcff6a06e581 - 0.0% (183 Bytes)
ADD alpine-minirootfs-3.23.3-x86_64.tar.gz / # buildkit
2026-01-28 01:18:04 UTC (buildkit.dockerfile.v0)CMD ["/bin/sh"]
2026-02-12 21:05:29 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; addgroup -g 70 -S postgres; adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql # buildkit
2026-02-12 21:05:32 UTC (buildkit.dockerfile.v0)ENV GOSU_VERSION=1.19
2026-02-12 21:05:32 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache --virtual .gosu-deps ca-certificates dpkg gnupg ; dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; gpgconf --kill all; rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; apk del --no-network .gosu-deps; chmod +x /usr/local/bin/gosu; gosu --version; gosu nobody true # buildkit
2026-02-12 21:05:32 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; ln -svf gosu /usr/local/bin/su-exec; su-exec nobody true # backwards compatibility (removed in PostgreSQL 17+) # buildkit
2026-02-12 21:05:32 UTC (buildkit.dockerfile.v0)ENV LANG=en_US.utf8
2026-02-12 21:05:32 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mkdir /docker-entrypoint-initdb.d # buildkit
2026-02-12 21:05:32 UTC (buildkit.dockerfile.v0)ENV PG_MAJOR=15
2026-02-12 21:05:32 UTC (buildkit.dockerfile.v0)ENV PG_VERSION=15.16
2026-02-12 21:05:32 UTC (buildkit.dockerfile.v0)ENV PG_SHA256=695ee29a77be1f5010e10f3667696f29871587f7aa311eadc1f809bea287cf48
2026-02-12 21:05:32 UTC (buildkit.dockerfile.v0)ENV DOCKER_PG_LLVM_DEPS=llvm19-dev clang19
2026-02-12 21:07:31 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; wget -O postgresql.tar.bz2 "https://ftp.postgresql.org/pub/source/v$PG_VERSION/postgresql-$PG_VERSION.tar.bz2"; echo "$PG_SHA256 *postgresql.tar.bz2" | sha256sum -c -; mkdir -p /usr/src/postgresql; tar --extract --file postgresql.tar.bz2 --directory /usr/src/postgresql --strip-components 1 ; rm postgresql.tar.bz2; apk add --no-cache --virtual .build-deps $DOCKER_PG_LLVM_DEPS bison coreutils dpkg-dev dpkg flex g++ gcc krb5-dev libc-dev libedit-dev libxml2-dev libxslt-dev linux-headers make openldap-dev openssl-dev perl-dev perl-ipc-run perl-utils python3-dev tcl-dev util-linux-dev zlib-dev icu-dev lz4-dev zstd-dev ; cd /usr/src/postgresql; awk '$1 == "#define" && $2 == "DEFAULT_PGSOCKET_DIR" && $3 == "\"/tmp\"" { $3 = "\"/var/run/postgresql\""; print; next } { print }' src/include/pg_config_manual.h > src/include/pg_config_manual.h.new; grep '/var/run/postgresql' src/include/pg_config_manual.h.new; mv src/include/pg_config_manual.h.new src/include/pg_config_manual.h; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; export LLVM_CONFIG="/usr/lib/llvm19/bin/llvm-config"; export CLANG=clang-19; ./configure --enable-option-checking=fatal --build="$gnuArch" --enable-integer-datetimes --enable-thread-safety --enable-tap-tests --disable-rpath --with-uuid=e2fs --with-gnu-ld --with-pgport=5432 --with-system-tzdata=/usr/share/zoneinfo --prefix=/usr/local --with-includes=/usr/local/include --with-libraries=/usr/local/lib --with-gssapi --with-icu --with-ldap --with-libxml --with-libxslt --with-llvm --with-lz4 --with-openssl --with-perl --with-python --with-tcl --with-zstd ; make -j "$(nproc)" world-bin; make install-world-bin; make -C contrib install; runDeps="$( scanelf --needed --nobanner --format '%n#p' --recursive /usr/local | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | grep -v -e perl -e python -e tcl )"; apk add --no-cache --virtual .postgresql-rundeps $runDeps bash tzdata zstd icu-data-full $([ "$(apk --print-arch)" != 'ppc64le' ] && echo 'nss_wrapper') ; apk del --no-network .build-deps; cd /; rm -rf /usr/src/postgresql /usr/local/share/doc /usr/local/share/man ; postgres --version # buildkit
2026-02-12 21:07:31 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; cp -v /usr/local/share/postgresql/postgresql.conf.sample /usr/local/share/postgresql/postgresql.conf.sample.orig; sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample # buildkit
2026-02-12 21:07:31 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql # buildkit
2026-02-12 21:07:31 UTC (buildkit.dockerfile.v0)ENV PGDATA=/var/lib/postgresql/data
2026-02-12 21:07:31 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA" # buildkit
2026-02-12 21:07:31 UTC (buildkit.dockerfile.v0)VOLUME [/var/lib/postgresql/data]
2026-02-12 21:07:31 UTC (buildkit.dockerfile.v0)COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ # buildkit
2026-02-12 21:07:31 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c ln -sT docker-ensure-initdb.sh /usr/local/bin/docker-enforce-initdb.sh # buildkit
2026-02-12 21:07:31 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["docker-entrypoint.sh"]
2026-02-12 21:07:31 UTC (buildkit.dockerfile.v0)STOPSIGNAL SIGINT
2026-02-12 21:07:31 UTC (buildkit.dockerfile.v0)EXPOSE map[5432/tcp:{}]
2026-02-12 21:07:31 UTC (buildkit.dockerfile.v0)CMD ["postgres"]
Please be careful as this will not just delete the reference but also the actual content!
For example when you have latest and v1.2.3 both pointing to the same image
the deletion of latest will also permanently remove v1.2.3.