Namespace
library
Image / Tag
postgres:15-alpine
Content Digest
sha256:153e7c67910d5fd53c5c9f44beb6c7632b29a43d5855f110ca532f1b402712de
Pull command
Details
Created

2026-07-07 17:48:31 UTC

Size

110 MB

Content Digest
Environment
DOCKER_PG_LLVM_DEPS

llvm21-dev clang21

GOSU_VERSION

1.19

LANG

en_US.utf8

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PGDATA

/var/lib/postgresql/data

PG_MAJOR

15

PG_SHA256

11df0df97fe3ea4ba9a791faaf39cee1d2fe571e78885b5b55d8517d27c323b4

PG_VERSION

15.18


Layers

[#000] sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4 - 3.34% (3.67 MB)

[#001] sha256:d5392b8b24862d469f15ad1aaeba0f44a4ba2642a2d69a900ac67f40798a88eb - 0.0% (971 Bytes)

[#002] sha256:c789cfcee1a878ab23c08038ff83307a571beae30bd8130d2f9096a434b0eefb - 0.78% (879 KB)

[#003] sha256:1c2196a549b66f83e3c388c2997e9da1304d6bfcc9cd490971cf434f0f5b9515 - 0.0% (176 Bytes)

[#004] sha256:a33f1df898dc0304cc0b3a0f3742817edf93db27c5a7177894c5eb842fb3d3f6 - 0.0% (116 Bytes)

[#005] sha256:5d12291c9d9787e547941c19612db8643a8c03183016edb692fc733d88138a26 - 95.86% (105 MB)

[#006] sha256:8d4cf99dca47b9d3f3c9f7f1720f838ad8e10a878933ca807ee5bd002fb2901a - 0.01% (9.23 KB)

[#007] sha256:f512cfda95e05c81178bf6e9c7b1d194aeece6ea5ac6522e217569cacec6b2c4 - 0.0% (129 Bytes)

[#008] sha256:ef9f94ec7f3d9f56dc1dcf053e7c56b13636ac5bd08a25857677860f517bf74a - 0.0% (171 Bytes)

[#009] sha256:39f1c1f745bf2ecf41bd01a2d4adc2b989a16e47b000528f9b15bb62bc0b4b37 - 0.01% (5.97 KB)

[#010] sha256:0bd77fe4725022a09129e6e4b21771be77b5e9a6d2721dbda42ffaeb0ba4a264 - 0.0% (184 Bytes)


History
2026-06-16 00:01:29 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.24.1-x86_64.tar.gz / # buildkit

2026-06-16 00:01:29 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2026-07-07 17:44:01 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-07-07 17:44:04 UTC (buildkit.dockerfile.v0)

ENV GOSU_VERSION=1.19

2026-07-07 17:44:04 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-07-07 17:46:36 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-07-07 17:46:36 UTC (buildkit.dockerfile.v0)

ENV LANG=en_US.utf8

2026-07-07 17:46:36 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir /docker-entrypoint-initdb.d # buildkit

2026-07-07 17:46:36 UTC (buildkit.dockerfile.v0)

ENV PG_MAJOR=15

2026-07-07 17:46:36 UTC (buildkit.dockerfile.v0)

ENV PG_VERSION=15.18

2026-07-07 17:46:36 UTC (buildkit.dockerfile.v0)

ENV PG_SHA256=11df0df97fe3ea4ba9a791faaf39cee1d2fe571e78885b5b55d8517d27c323b4

2026-07-07 17:46:36 UTC (buildkit.dockerfile.v0)

ENV DOCKER_PG_LLVM_DEPS=llvm21-dev clang21

2026-07-07 17:48:30 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/llvm21/bin/llvm-config"; export CLANG=clang-21; ./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-07-07 17:48:30 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-07-07 17:48:30 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql # buildkit

2026-07-07 17:48:30 UTC (buildkit.dockerfile.v0)

ENV PGDATA=/var/lib/postgresql/data

2026-07-07 17:48:31 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA" # buildkit

2026-07-07 17:48:31 UTC (buildkit.dockerfile.v0)

VOLUME [/var/lib/postgresql/data]

2026-07-07 17:48:31 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ # buildkit

2026-07-07 17:48:31 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c ln -sT docker-ensure-initdb.sh /usr/local/bin/docker-enforce-initdb.sh # buildkit

2026-07-07 17:48:31 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2026-07-07 17:48:31 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGINT

2026-07-07 17:48:31 UTC (buildkit.dockerfile.v0)

EXPOSE map[5432/tcp:{}]

2026-07-07 17:48:31 UTC (buildkit.dockerfile.v0)

CMD ["postgres"]