镜像构建历史
# 2026-09-30 00:15:50 5.83KB 复制新文件或目录到容器中
COPY ./bootstrap.sh /docker-entrypoint-initdb.d/10_bootstrap_paradedb.sh # buildkit
# 2026-09-30 00:15:50 0.00B 设置工作目录为/
WORKDIR /
# 2026-09-30 00:15:50 31.11KB 执行命令并创建新的镜像层
RUN /bin/bash -o pipefail -c -e sed -i "s/^#shared_preload_libraries = ''/shared_preload_libraries = 'pg_search,pg_cron,pg_stat_statements'/" /usr/share/postgresql/postgresql.conf.sample && grep "shared_preload_libraries = 'pg_search,pg_cron,pg_stat_statements'" /usr/share/postgresql/postgresql.conf.sample && echo "cron.database_name = 'postgres'" >> /usr/share/postgresql/postgresql.conf.sample && echo "pg_stat_statements.track = 'top'" >> /usr/share/postgresql/postgresql.conf.sample # buildkit
# 2026-09-30 00:15:49 211.49MB 执行命令并创建新的镜像层
RUN /bin/bash -o pipefail -c -e apt-get update && apt-get install -y --no-install-recommends ca-certificates && echo "deb [ signed-by=/usr/local/share/keyrings/postgres.gpg.asc ] https://apt-archive.postgresql.org/pub/repos/apt trixie-pgdg-archive main" > /etc/apt/sources.list.d/pgdg-archive.list && apt-get update && apt-get install -y --no-install-recommends postgresql-17-pgvector=0.8.4-1.pgdg13+1 postgresql-17-cron=1.6.7-2.pgdg13+1 postgresql-17-pg-ivm=1.13-1.pgdg13+1 postgresql-17-postgis-$POSTGIS_VERSION_MAJOR postgresql-17-postgis-$POSTGIS_VERSION_MAJOR-scripts && rm /etc/apt/sources.list.d/pgdg-archive.list && rm -rf /var/lib/apt/lists/* && update-ca-certificates # buildkit
# 2026-09-30 00:13:19 0.00B 设置环境变量 POSTGIS_VERSION_MAJOR
ENV POSTGIS_VERSION_MAJOR=3
# 2026-09-30 00:13:19 87.23MB 执行命令并创建新的镜像层
RUN /bin/bash -o pipefail -c -e apt-get update && apt-get install -y --no-install-recommends libpq5 python3-pip python3-dev python3-psycopg2 && rm /usr/lib/python*/EXTERNALLY-MANAGED && pip3 install --no-cache-dir 'setuptools==82.0.1' 'barman[cloud,azure,snappy,google]==3.18.0' && apt-get remove -y python3-dev python3-pip --purge && apt-get autoremove -y && rm -rf /var/lib/apt/lists/* && find /usr/lib | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf && find /usr/local | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf && find /var/cache -type f -exec truncate --size 0 {} \; && find /var/log -type f -exec truncate --size 0 {} \; # buildkit
# 2026-09-30 00:10:01 186.28MB 执行命令并创建新的镜像层
RUN /bin/bash -o pipefail -c -e apt-get update && apt-get install -y --no-install-recommends ca-certificates curl && arch="$(dpkg --print-architecture)" && case "$arch" in amd64) checksum="d47e999cd53e80f6e9bb8c4781d7045def89af245a1c15dc631141b30a04c78a" ;; arm64) checksum="b2ef596c14c9ebab640d48cb254f71f5ea1a3b4acfede4154b3499d0f87826a4" ;; *) echo "unsupported architecture: $arch" >&2; exit 1 ;; esac && curl -fsSL -o /tmp/pg_search.deb "https://github.com/paradedb/paradedb/releases/download/v0.25.11/postgresql-17-pg-search_0.25.11-1PARADEDB-trixie_${arch}.deb" && echo "${checksum} /tmp/pg_search.deb" | sha256sum -c - && apt-get install -y --no-install-recommends /tmp/pg_search.deb && rm /tmp/pg_search.deb && rm -rf /var/lib/apt/lists/* # buildkit
# 2026-09-30 00:10:01 0.00B
SHELL [/bin/bash -o pipefail -c -e]
# 2026-09-30 00:10:01 0.00B 添加元数据标签
LABEL maintainer=ParadeDB - https://paradedb.com org.opencontainers.image.description=Search without a second system. One Postgres for your application data, full-text search, vector retrieval, and aggregations. org.opencontainers.image.source=https://github.com/paradedb/paradedb
# 2026-09-19 08:38:59 0.00B 设置默认要执行的命令
CMD ["postgres"]
# 2026-09-19 08:38:59 0.00B 声明容器运行时监听的端口
EXPOSE map[5432/tcp:{}]
# 2026-09-19 08:38:59 0.00B 设置停止容器时发送的系统调用信号
STOPSIGNAL SIGINT
# 2026-09-19 08:38:59 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["docker-entrypoint.sh"]
# 2026-09-19 08:38:59 23.00B 执行命令并创建新的镜像层
RUN /bin/sh -c ln -sT docker-ensure-initdb.sh /usr/local/bin/docker-enforce-initdb.sh # buildkit
# 2026-09-19 08:38:59 16.89KB 复制新文件或目录到容器中
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ # buildkit
# 2026-09-19 08:38:59 0.00B 创建挂载点用于持久化数据或共享数据
VOLUME [/var/lib/postgresql/data]
# 2026-09-19 08:38:59 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA" # buildkit
# 2026-09-19 08:38:59 0.00B 设置环境变量 PGDATA
ENV PGDATA=/var/lib/postgresql/data
# 2026-09-19 08:38:59 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql # buildkit
# 2026-09-19 08:38:59 63.69KB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; dpkg-divert --add --rename --divert "/usr/share/postgresql/postgresql.conf.sample.dpkg" "/usr/share/postgresql/$PG_MAJOR/postgresql.conf.sample"; cp -v /usr/share/postgresql/postgresql.conf.sample.dpkg /usr/share/postgresql/postgresql.conf.sample; ln -sv ../postgresql.conf.sample "/usr/share/postgresql/$PG_MAJOR/"; sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample # buildkit
# 2026-09-19 08:38:59 326.43MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -ex; export PYTHONDONTWRITEBYTECODE=1; dpkgArch="$(dpkg --print-architecture)"; aptRepo="[ signed-by=/usr/local/share/keyrings/postgres.gpg.asc ] http://apt.postgresql.org/pub/repos/apt trixie-pgdg main $PG_MAJOR"; case "$dpkgArch" in amd64 | arm64 | loong64 | ppc64el) echo "deb $aptRepo" > /etc/apt/sources.list.d/pgdg.list; apt-get update; ;; *) echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; savedAptMark="$(apt-mark showmanual)"; tempDir="$(mktemp -d)"; cd "$tempDir"; apt-get update; apt-get install -y --no-install-recommends dpkg-dev; echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; _update_repo() { dpkg-scanpackages . > Packages; apt-get -o Acquire::GzipIndexes=false update; }; _update_repo; nproc="$(nproc)"; export DEB_BUILD_OPTIONS="nocheck parallel=$nproc"; apt-get build-dep -y postgresql-common-dev; apt-get source --compile postgresql-common-dev; _update_repo; apt-get build-dep -y "postgresql-$PG_MAJOR=$PG_VERSION"; apt-get source --compile "postgresql-$PG_MAJOR=$PG_VERSION"; apt-mark showmanual | xargs apt-mark auto > /dev/null; apt-mark manual $savedAptMark; ls -lAFh; _update_repo; grep '^Package: ' Packages; cd /; ;; esac; apt-get install -y --no-install-recommends postgresql-common; sed -ri 's/#(create_main_cluster) .*$/\1 = false/' /etc/postgresql-common/createcluster.conf; apt-get install -y --no-install-recommends "postgresql-$PG_MAJOR=$PG_VERSION" ; rm -rf /var/lib/apt/lists/*; if [ -n "$tempDir" ]; then apt-get purge -y --auto-remove; rm -rf "$tempDir" /etc/apt/sources.list.d/temp.list; fi; find /usr -name '*.pyc' -type f -exec bash -c 'for pyc; do dpkg -S "$pyc" &> /dev/null || rm -vf "$pyc"; done' -- '{}' +; postgres --version # buildkit
# 2026-09-19 08:38:45 0.00B 设置环境变量 PG_VERSION
ENV PG_VERSION=17.11-1.pgdg13+2
# 2026-09-19 08:38:45 0.00B 设置环境变量 PATH
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/postgresql/17/bin
# 2026-09-19 08:38:45 0.00B 设置环境变量 PG_MAJOR
ENV PG_MAJOR=17
# 2026-09-19 08:38:45 3.98KB 执行命令并创建新的镜像层
RUN /bin/sh -c set -ex; key='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8'; export GNUPGHOME="$(mktemp -d)"; mkdir -p /usr/local/share/keyrings/; gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; gpg --batch --export --armor "$key" > /usr/local/share/keyrings/postgres.gpg.asc; gpgconf --kill all; rm -rf "$GNUPGHOME" # buildkit
# 2026-09-19 08:38:45 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c mkdir /docker-entrypoint-initdb.d # buildkit
# 2026-09-19 08:38:45 3.31MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends libnss-wrapper xz-utils zstd ; rm -rf /var/lib/apt/lists/* # buildkit
# 2026-09-19 08:38:41 0.00B 设置环境变量 LANG
ENV LANG=en_US.utf8
# 2026-09-19 08:38:41 25.59MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; if [ -f /etc/dpkg/dpkg.cfg.d/docker ]; then grep -q '/usr/share/locale' /etc/dpkg/dpkg.cfg.d/docker; sed -ri '/\/usr\/share\/locale/d' /etc/dpkg/dpkg.cfg.d/docker; ! grep -q '/usr/share/locale' /etc/dpkg/dpkg.cfg.d/docker; fi; apt-get update; apt-get install -y --no-install-recommends locales; rm -rf /var/lib/apt/lists/*; echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen; locale-gen; locale -a | grep 'en_US.utf8' # buildkit
# 2026-09-19 08:38:36 3.69MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends ca-certificates wget; rm -rf /var/lib/apt/lists/*; 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; apt-mark auto '.*' > /dev/null; [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; chmod +x /usr/local/bin/gosu; gosu --version; gosu nobody true # buildkit
# 2026-09-19 08:38:36 0.00B 设置环境变量 GOSU_VERSION
ENV GOSU_VERSION=1.19
# 2026-09-19 08:38:29 16.82MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -ex; apt-get update; apt-get install -y --no-install-recommends gnupg less ; rm -rf /var/lib/apt/lists/* # buildkit
# 2026-09-19 08:38:23 4.32KB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; groupadd -r postgres --gid=999; useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql # buildkit
# 2026-09-18 08:00:00 100.64MB
# debian.sh --arch 'arm64' out/ 'trixie' '@1789689600'
镜像信息
{
"Id": "sha256:d9c2eb8f96749423f4d1aa369b279e8348f1b1d6e37b57b268be800f2c280174",
"RepoTags": [
"paradedb/paradedb:v0.25.11-pg17",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/paradedb/paradedb:v0.25.11-pg17-linuxarm64"
],
"RepoDigests": [
"paradedb/paradedb@sha256:78d65750f0f88a56548526201bcab9910f83b90fe929cdbf979890f3f80b0f95",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/paradedb/paradedb@sha256:a7b6d29560d7c3a37cd3efafed6d15e6536c2e0759783b8f1919525b19d1edd5"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2026-09-29T16:15:50.112112133Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"5432/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/postgresql/17/bin",
"GOSU_VERSION=1.19",
"LANG=en_US.utf8",
"PG_MAJOR=17",
"PG_VERSION=17.11-1.pgdg13+2",
"PGDATA=/var/lib/postgresql/data",
"POSTGIS_VERSION_MAJOR=3"
],
"Cmd": [
"postgres"
],
"Image": "",
"Volumes": {
"/var/lib/postgresql/data": {}
},
"WorkingDir": "/",
"Entrypoint": [
"docker-entrypoint.sh"
],
"OnBuild": null,
"Labels": {
"maintainer": "ParadeDB - https://paradedb.com",
"org.opencontainers.image.description": "Search without a second system. One Postgres for your application data, full-text search, vector retrieval, and aggregations.",
"org.opencontainers.image.source": "https://github.com/paradedb/paradedb"
},
"StopSignal": "SIGINT",
"Shell": [
"/bin/bash",
"-o",
"pipefail",
"-c",
"-e"
]
},
"Architecture": "arm64",
"Os": "linux",
"Size": 961600409,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/73985f451d199373e0184b719e602ade0f8c90d33158d584dde42534c768cbea/diff:/var/lib/docker/overlay2/32694ea80996bb75496258de8b81f7e61cee27b0f80c1a6102377e6685d85494/diff:/var/lib/docker/overlay2/4ef24bb07dcff4b47731e7612791e1b58256d482ef53f067f5cdd335ceab67ea/diff:/var/lib/docker/overlay2/f1d7902ee7e444d00b6627f5c411b2a903b683c152069870eeac3ca3baa5d388/diff:/var/lib/docker/overlay2/f63f2041bd79a7eb545523ede9c70a006f24412c9b4979b44a5ac75e3b331658/diff:/var/lib/docker/overlay2/7eb4bc86cde24ff786690bd386c98e70fb8484a41372e3d6f1a747456f32af10/diff:/var/lib/docker/overlay2/3fb07616bae8e8b2c26b150cb7aeb00f71dc48ddf9af0fe835cd236a10abc391/diff:/var/lib/docker/overlay2/24f1ff9788bf293c9e314a8e1c2d4c1bce9e429ce0a7fbf527894137605616b4/diff:/var/lib/docker/overlay2/0f42191078c0aa67992165861d45dda03f8c9e48bc25aa20fe0e58e079dc8e7b/diff:/var/lib/docker/overlay2/56e5a79a758396a0b3dfd57ad41c90eb730e10200b2a79d4b1202566b432d2ba/diff:/var/lib/docker/overlay2/dd1ad9cb87592db33f04b3f1ac21e44511ad76a0e208228cd5ac3e4a398c182e/diff:/var/lib/docker/overlay2/2b8477ebc3414b85498627a1f27ca0f46f30002df9848ac4ad95fe05b0bd9a88/diff:/var/lib/docker/overlay2/27fbf26c49f5a025b103c64535597f0403adc666a44719a8db5848cbb831484b/diff:/var/lib/docker/overlay2/732c40ad8c7c42db461b1821d70545f452706617ec53183b3a9be56da3df1cd2/diff:/var/lib/docker/overlay2/de1179bce88ef0e681f285984e70a0a92182e34ce0c824874e6f346071f4b144/diff:/var/lib/docker/overlay2/8a85a98b3e612981d53afb9d9913680d744038108f7e058399ee9ab6733d0502/diff:/var/lib/docker/overlay2/8f497be06754bb4b8f72db4055750613b02f6ee8d60fdf29bb49444c3824bae6/diff:/var/lib/docker/overlay2/b66d0e19a49c042985258def78b9e0a27f1f9eb8c765f13792931488a9dd7b2f/diff",
"MergedDir": "/var/lib/docker/overlay2/d9fa74889c9782ce27334e99631bc7936c21d7d4d4e1705d472fc863ed345456/merged",
"UpperDir": "/var/lib/docker/overlay2/d9fa74889c9782ce27334e99631bc7936c21d7d4d4e1705d472fc863ed345456/diff",
"WorkDir": "/var/lib/docker/overlay2/d9fa74889c9782ce27334e99631bc7936c21d7d4d4e1705d472fc863ed345456/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:8227a1264c7ff2f8bd125b585e62c1cec77dd2099c985c33e08d34292d06144f",
"sha256:8209afceba855a1725d6dc4c49e5b119530bd7e83f47a370df75c86688c45c37",
"sha256:b0797de272bb168c95664c978d3409ecc8d9bcd5be58c0300ae9b18cc96626b5",
"sha256:1bc1faf5f3597b28ad13e192d2f089885ef6e838631f99eaa1424522e008111c",
"sha256:ce3a62926a447883156a669c1d2feb8265fecf357bb93ba30e576637b11fb186",
"sha256:75fdeb7f15a91b2062e54e95833be79272d678dbd0586dc06501310a044b250f",
"sha256:54523f97f076223c51261a5ad667a4912d6019e1d406b2eefd454c6bd8e1d5e1",
"sha256:2a14214231bf226e0b97cc3666ccf26f9e9caba0d7afb4a4b03d5efe74bfd68f",
"sha256:b310f8401d5f323cc3b31a9a06a92f247171ab1294929c3d3f04748ad7439196",
"sha256:877b6d91509c9caf280b85c788fdeb9d9199845961bde15b9f52c607fefc41f1",
"sha256:cb98073da3191ff19935ab2dc9fcb1870abb4c93cc982ee256657fc2068801c5",
"sha256:640db04c3564bc2d8fde298255adb81358190b24675a761d32c396706d86b6e2",
"sha256:8f6703a6bd816d1b80f5160cce77bace109d4f70c2b0cc8aca0c7ca153556ab4",
"sha256:37988287406ff7ac2c5c198cf4ff89a5808bb677797cd92ca97e39dedd21fd9e",
"sha256:521c4066847135d63c2f6f748bf784463ae6ad73242f1b07e7629dc9cf9a7e84",
"sha256:e6e636d47fadc826959ae2a71619b7ca6a2ed6ea1485792092649ae07f1e2386",
"sha256:aa28fce9648a98017906cc1284b0305f564673e4dec3bb92f681b3e5e3c23eba",
"sha256:1302e2c96b67c7ad2ac6f9cc84bde394d88dc885069f468c439958707eed0af4",
"sha256:e8026df1949770e472853880e0ab046ed33c35ba6eae231e982810af27688f97"
]
},
"Metadata": {
"LastTagTime": "2026-10-28T18:03:21.434412035+08:00"
}
}