镜像构建历史
# 2023-10-04 22:54:45 0.00B 设置默认要执行的命令
CMD ["postgres"]
# 2023-10-04 22:54:45 0.00B 声明容器运行时监听的端口
EXPOSE map[5432/tcp:{}]
# 2023-10-04 22:54:45 0.00B 设置停止容器时发送的系统调用信号
STOPSIGNAL SIGINT
# 2023-10-04 22:54:45 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["docker-entrypoint.sh"]
# 2023-10-04 22:54:45 12.49KB 复制新文件或目录到容器中
COPY docker-entrypoint.sh /usr/local/bin/ # buildkit
# 2023-10-04 22:54:45 0.00B 创建挂载点用于持久化数据或共享数据
VOLUME [/var/lib/postgresql/data]
# 2023-10-04 22:54:45 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" # buildkit
# 2023-10-04 22:54:45 0.00B 设置环境变量 PGDATA
ENV PGDATA=/var/lib/postgresql/data
# 2023-10-04 22:54:45 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql # buildkit
# 2023-10-04 22:54:45 58.77KB 执行命令并创建新的镜像层
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
# 2023-10-04 22:54:45 229.99MB 执行命令并创建新的镜像层
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)"; wget -O config/config.guess 'https://git.savannah.gnu.org/cgit/config.git/plain/config.guess?id=7d3d27baf8107b630586c962c057e22149653deb'; wget -O config/config.sub 'https://git.savannah.gnu.org/cgit/config.git/plain/config.sub?id=7d3d27baf8107b630586c962c057e22149653deb'; export LLVM_CONFIG="/usr/lib/llvm15/bin/llvm-config"; export CLANG=clang-15; ./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-ldap --with-tcl --with-perl --with-python --with-openssl --with-libxml --with-libxslt --with-icu --with-llvm --with-lz4 --with-zstd ; make -j "$(nproc)" world; make install-world; 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 su-exec 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 ; echo '{"spdxVersion":"SPDX-2.3","SPDXID":"SPDXRef-DOCUMENT","name":"postgres-sbom","packages":[{"name":"postgres","versionInfo":"15.4","SPDXID":"SPDXRef-Package--postgres","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:generic/postgres@15.4?os_name=alpine&os_version=3.18"}],"licenseDeclared":"PostgreSQL"}]}' > /usr/local/postgres.spdx.json ; postgres --version # buildkit
# 2023-10-04 22:54:45 0.00B 设置环境变量 DOCKER_PG_LLVM_DEPS
ENV DOCKER_PG_LLVM_DEPS=llvm15-dev clang15
# 2023-10-04 22:54:45 0.00B 设置环境变量 PG_SHA256
ENV PG_SHA256=baec5a4bdc4437336653b6cb5d9ed89be5bd5c0c58b94e0becee0a999e63c8f9
# 2023-10-04 22:54:45 0.00B 设置环境变量 PG_VERSION
ENV PG_VERSION=15.4
# 2023-10-04 22:54:45 0.00B 设置环境变量 PG_MAJOR
ENV PG_MAJOR=15
# 2023-10-04 22:54:45 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c mkdir /docker-entrypoint-initdb.d # buildkit
# 2023-10-04 22:54:45 0.00B 设置环境变量 LANG
ENV LANG=en_US.utf8
# 2023-10-04 22:54:45 4.71KB 执行命令并创建新的镜像层
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; mkdir -p /var/lib/postgresql; chown -R postgres:postgres /var/lib/postgresql # buildkit
# 2023-09-29 05:19:27 0.00B
/bin/sh -c #(nop) CMD ["/bin/sh"]
# 2023-09-29 05:19:27 7.34MB
/bin/sh -c #(nop) ADD file:756183bba9c7f4593c2b216e98e4208b9163c4c962ea0837ef88bd917609d001 in /
镜像信息
{
"Id": "sha256:d43df62c9cb97b57fd18cdd1714c73bfb6ce043e7147bc1a89df4bf6f6fac694",
"RepoTags": [
"postgres:15.4-alpine",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/postgres:15.4-alpine"
],
"RepoDigests": [
"postgres@sha256:35ce2187f2f7fb75e8e79493e13743596c21eb3789ff41ece145ae04d06e93a5",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/postgres@sha256:841a47bd65c03a673809c14ed539f6140689fe5dc3efe7b9bcadb4699dc16177"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2023-10-04T14:54:45Z",
"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",
"LANG=en_US.utf8",
"PG_MAJOR=15",
"PG_VERSION=15.4",
"PG_SHA256=baec5a4bdc4437336653b6cb5d9ed89be5bd5c0c58b94e0becee0a999e63c8f9",
"DOCKER_PG_LLVM_DEPS=llvm15-dev \t\tclang15",
"PGDATA=/var/lib/postgresql/data"
],
"Cmd": [
"postgres"
],
"ArgsEscaped": true,
"Image": "",
"Volumes": {
"/var/lib/postgresql/data": {}
},
"WorkingDir": "",
"Entrypoint": [
"docker-entrypoint.sh"
],
"OnBuild": null,
"Labels": null,
"StopSignal": "SIGINT"
},
"Architecture": "amd64",
"Os": "linux",
"Size": 237399442,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/361e007ad03b247ad873006cb8c88cc53ca4dfc201793c5615cde7e3b9957c78/diff:/var/lib/docker/overlay2/32fd81f27e51cbb116eaae1a7d1d980818014284f85aab3c621e5189e367726d/diff:/var/lib/docker/overlay2/8757cc6c1856cd61becb7c3cf8922a4e82b38f52bc51ff29e45831fee5e862a7/diff:/var/lib/docker/overlay2/6d2fe648c3fc50041b9b73bfbd8251ee15c9279ace7bc19b3557fbca2e3807d9/diff:/var/lib/docker/overlay2/99922debec6b84493d4144cef8de19bc189c660a8aa86ab37b90f1bcdc50344c/diff:/var/lib/docker/overlay2/20f1e5c2063a1155c9f7e73244e6dfaa6beca2075d527aba8d8f238501a756c6/diff:/var/lib/docker/overlay2/cae1aa66e45f7b28a19da5cd9065cf8f2d6631363a18323358bc2fbae135bf2c/diff",
"MergedDir": "/var/lib/docker/overlay2/81aabc7bfce2b1e8b199d12856deaa430e0d1d81c1b00370b9928727b1d9c09e/merged",
"UpperDir": "/var/lib/docker/overlay2/81aabc7bfce2b1e8b199d12856deaa430e0d1d81c1b00370b9928727b1d9c09e/diff",
"WorkDir": "/var/lib/docker/overlay2/81aabc7bfce2b1e8b199d12856deaa430e0d1d81c1b00370b9928727b1d9c09e/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:cc2447e1835a40530975ab80bb1f872fbab0f2a0faecf2ab16fbbb89b3589438",
"sha256:676aa063db32b5063fd0fadc3bb16c302996a41ebc719afaec90fc1cca1ca31e",
"sha256:54a3c296bfdf334fa8e91b0dea1a8982e541f030da02b11b54b8f66988213a6f",
"sha256:8700eb8a5e6aa548a678c814b8a24cd810886c04e3a1c77a2532b59366be5426",
"sha256:3900c6d4e5cdca439eb4a2bf090d80f2177a67ec848908830fe46f2222aadca3",
"sha256:e07a29ba9c1c646856901dc9b90212b5fa7c18fb6276f5900c738355416db5c3",
"sha256:5e494cdcb375ca5558ce002ef718aedf38e41fad3ec4dbfab68c70e1e7c248c2",
"sha256:7207043fc83fd7ed8d9f740bec57e6a1f8bff6226b4219e9667d61c18212b4d6"
]
},
"Metadata": {
"LastTagTime": "2025-07-19T09:47:45.790591086+08:00"
}
}