镜像构建历史
# 2025-08-14 11:30:16 0.00B 声明容器运行时监听的端口
EXPOSE map[6379/tcp:{}]
# 2025-08-14 11:30:16 0.00B 设置环境变量 PGDATA POSTGRES_USER POSTGRES_PASSWORD POSTGRES_MAX_CONNECTIONS REDIS_PASSWORD LANG PYTHONUNBUFFERED MAXKB_CONFIG_TYPE MAXKB_LOG_LEVEL MAXKB_SANDBOX MAXKB_SANDBOX_PYTHON_PACKAGE_PATHS MAXKB_SANDBOX_PYTHON_BANNED_KEYWORDS MAXKB_ADMIN_PATH
ENV PGDATA=/opt/maxkb/data/postgresql/pgdata POSTGRES_USER=root POSTGRES_PASSWORD=Password123@postgres POSTGRES_MAX_CONNECTIONS=1000 REDIS_PASSWORD=Password123@redis LANG=en_US.UTF-8 PYTHONUNBUFFERED=1 MAXKB_CONFIG_TYPE=ENV MAXKB_LOG_LEVEL=INFO MAXKB_SANDBOX=1 MAXKB_SANDBOX_PYTHON_PACKAGE_PATHS=/opt/py3/lib/python3.11/site-packages,/opt/maxkb-app/sandbox/python-packages,/opt/maxkb/python-packages MAXKB_SANDBOX_PYTHON_BANNED_KEYWORDS=subprocess.,system(,exec(,pty.,eval(,compile(,shutil.,input(,__import__ MAXKB_ADMIN_PATH=/admin
# 2025-08-14 11:30:16 438.48MB 复制新文件或目录到容器中
COPY --chmod=700 /opt/maxkb-app/model /opt/maxkb-app/model # buildkit
# 2025-08-14 11:30:15 285.44MB 执行命令并创建新的镜像层
RUN |1 DEPENDENCIES= libexpat1-dev libffi-dev curl ca-certificates vim gettext wait-for-it redis-server postgresql-17-pgvector postgresql-17-age /bin/sh -c ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone && apt-get update && apt-get install -y --no-install-recommends $DEPENDENCIES && chmod 755 /usr/bin/start-*.sh && find /etc/ -type f ! -path '/etc/resolv.conf' ! -path '/etc/hosts' | xargs chmod g-rx && curl -L --connect-timeout 120 -m 1800 https://resource.fit2cloud.com/maxkb/ffmpeg/get-ffmpeg-linux | sh && mkdir -p /opt/maxkb-app/sandbox && useradd --no-create-home --home /opt/maxkb-app/sandbox sandbox -g root && chown -R sandbox:root /opt/maxkb-app/sandbox && chmod g-xr /usr/local/bin/* /usr/bin/* /bin/* /usr/sbin/* /sbin/* /usr/lib/postgresql/17/bin/* && chmod g+x /usr/local/bin/python* && apt-get clean all && rm -rf /var/lib/apt/lists/* /usr/share/doc/* /usr/share/man/* /usr/share/info/* /usr/share/locale/* /usr/share/lintian/* /usr/share/linda/* /var/cache/* /var/log/* /var/tmp/* /tmp/* # buildkit
# 2025-08-14 11:30:15 0.00B 定义构建参数
ARG DEPENDENCIES= libexpat1-dev libffi-dev curl ca-certificates vim gettext wait-for-it redis-server postgresql-17-pgvector postgresql-17-age
# 2025-08-14 11:29:53 65.00B 复制新文件或目录到容器中
COPY installer/init.sql /docker-entrypoint-initdb.d/ # buildkit
# 2025-08-14 11:29:53 2.43KB 复制新文件或目录到容器中
COPY installer/*.sh /usr/bin/ # buildkit
# 2025-08-14 11:29:53 39.20MB 复制新文件或目录到容器中
COPY /usr/local /usr/local # buildkit
# 2025-06-07 02:27:47 0.00B 设置默认要执行的命令
CMD ["postgres"]
# 2025-06-07 02:27:47 0.00B 声明容器运行时监听的端口
EXPOSE map[5432/tcp:{}]
# 2025-06-07 02:27:47 0.00B 设置停止容器时发送的系统调用信号
STOPSIGNAL SIGINT
# 2025-06-07 02:27:47 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["docker-entrypoint.sh"]
# 2025-06-07 02:27:47 23.00B 执行命令并创建新的镜像层
RUN /bin/sh -c ln -sT docker-ensure-initdb.sh /usr/local/bin/docker-enforce-initdb.sh # buildkit
# 2025-06-07 02:27:47 16.50KB 复制新文件或目录到容器中
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ # buildkit
# 2025-06-07 02:27:47 0.00B 创建挂载点用于持久化数据或共享数据
VOLUME [/var/lib/postgresql/data]
# 2025-06-07 02:27:47 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA" # buildkit
# 2025-06-07 02:27:47 0.00B 设置环境变量 PGDATA
ENV PGDATA=/var/lib/postgresql/data
# 2025-06-07 02:27:47 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql # buildkit
# 2025-06-07 02:27:47 61.95KB 执行命令并创建新的镜像层
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
# 2025-06-07 02:27:47 304.92MB 执行命令并创建新的镜像层
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/ bullseye-pgdg main $PG_MAJOR"; case "$dpkgArch" in amd64 | arm64 | 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
# 2025-06-07 02:27:47 0.00B 设置环境变量 PG_VERSION
ENV PG_VERSION=17.5-1.pgdg110+1
# 2025-06-07 02:27:47 0.00B 设置环境变量 PATH
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/postgresql/17/bin
# 2025-06-07 02:27:47 0.00B 设置环境变量 PG_MAJOR
ENV PG_MAJOR=17
# 2025-06-07 02:27:47 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
# 2025-06-07 02:27:47 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c mkdir /docker-entrypoint-initdb.d # buildkit
# 2025-06-07 02:27:47 2.64MB 执行命令并创建新的镜像层
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
# 2025-06-07 02:27:47 0.00B 设置环境变量 LANG
ENV LANG=en_US.utf8
# 2025-06-07 02:27:47 25.11MB 执行命令并创建新的镜像层
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
# 2025-06-07 02:27:47 4.23MB 执行命令并创建新的镜像层
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
# 2025-06-07 02:27:47 0.00B 设置环境变量 GOSU_VERSION
ENV GOSU_VERSION=1.17
# 2025-06-07 02:27:47 9.41MB 执行命令并创建新的镜像层
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
# 2025-06-07 02:27:47 327.17KB 执行命令并创建新的镜像层
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
# 2025-06-07 02:27:47 80.67MB
# debian.sh --arch 'amd64' out/ 'bullseye' '@1753056000'
镜像信息
{
"Id": "sha256:907bf4c37ff63d95059550a749f6d50d55300fd45f69b447132a1ee1a6c285f9",
"RepoTags": [
"ghcr.io/1panel-dev/maxkb-base:python3.11-pg17.5",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/1panel-dev/maxkb-base:python3.11-pg17.5"
],
"RepoDigests": [
"ghcr.io/1panel-dev/maxkb-base@sha256:5142b17e53dd98adaa3449a75fcfb3124d6246a09bf71f7a0b16feec33c5e6c7",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/1panel-dev/maxkb-base@sha256:51bcea6e42d7ddb0bdfe46a2720cdd17cafa7ff10c0bc593971549d1e43c8724"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2025-08-14T03:30:16.268047318Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"5432/tcp": {},
"6379/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.17",
"LANG=en_US.UTF-8",
"PG_MAJOR=17",
"PG_VERSION=17.5-1.pgdg110+1",
"PGDATA=/opt/maxkb/data/postgresql/pgdata",
"POSTGRES_USER=root",
"POSTGRES_PASSWORD=Password123@postgres",
"POSTGRES_MAX_CONNECTIONS=1000",
"REDIS_PASSWORD=Password123@redis",
"PYTHONUNBUFFERED=1",
"MAXKB_CONFIG_TYPE=ENV",
"MAXKB_LOG_LEVEL=INFO",
"MAXKB_SANDBOX=1",
"MAXKB_SANDBOX_PYTHON_PACKAGE_PATHS=/opt/py3/lib/python3.11/site-packages,/opt/maxkb-app/sandbox/python-packages,/opt/maxkb/python-packages",
"MAXKB_SANDBOX_PYTHON_BANNED_KEYWORDS=subprocess.,system(,exec(,pty.,eval(,compile(,shutil.,input(,__import__",
"MAXKB_ADMIN_PATH=/admin"
],
"Cmd": [
"postgres"
],
"Image": "",
"Volumes": {
"/var/lib/postgresql/data": {}
},
"WorkingDir": "",
"Entrypoint": [
"docker-entrypoint.sh"
],
"OnBuild": null,
"Labels": null,
"StopSignal": "SIGINT"
},
"Architecture": "amd64",
"Os": "linux",
"Size": 1190513557,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/27ab181019455d008f13d35b0d1c998a071858b292f27e566efd797e59f7d5c6/diff:/var/lib/docker/overlay2/2691182415dc4813439b5044265a639c89b7c376d999fdb99c8998c8ff98a98b/diff:/var/lib/docker/overlay2/f1edfcbd15aef54019af0fb0be4ac6317fcc4dd6f6346b878531eea0494055f1/diff:/var/lib/docker/overlay2/0429077bcac28386c8da774d85ab4f5dc0f998fa7fbde18225e8bc78d1cb3b2c/diff:/var/lib/docker/overlay2/86667dcaa996c75b103fdc8c897acdc3a44b088ee647de92de0155be827504ad/diff:/var/lib/docker/overlay2/4f8752de1249863856d3c65fb5cc4fa8263ca764539ec938e6b173d108df7932/diff:/var/lib/docker/overlay2/eaf80b9068ed31f4d9a694ee7ae566a794969f4f917fc68c48adca2f5445b347/diff:/var/lib/docker/overlay2/ce827987040e8bd106f0928d47a148931e0fac359250dc54c8dfda189598deeb/diff:/var/lib/docker/overlay2/f2feb4fc2df7ebe9899db6e3018a30bef78f6f9e91e72f02364f61000ade6cfc/diff:/var/lib/docker/overlay2/a62efb3bfcaa7a48100c1c297bf3dc50c61f6e2847325278f6f9f38610abd1dd/diff:/var/lib/docker/overlay2/f1d63d6c41b488a675d1eb152f8944a9e13e18bf15d5aac8c57923ab154175c0/diff:/var/lib/docker/overlay2/1df8c9baad13e857ad6ed34ecbe5f912351a687ab18d3eb86a622276cab95a5a/diff:/var/lib/docker/overlay2/fb118a35f946857a3557c30a3ab32db4e68544f693f57c920879dfcfe263526a/diff:/var/lib/docker/overlay2/93ea965dafdbd67a6699d2cbeca06006d602c6a23a8346f9aeb7a0ce92e39a74/diff:/var/lib/docker/overlay2/43a79d8c87c66d95286e4e2935e2e50969890ef70876a6337b1caf1f65059f08/diff:/var/lib/docker/overlay2/9832d18740f61e12a887f0c3e46b95159500986627747f1a3cffc34e4c44d67d/diff:/var/lib/docker/overlay2/5bc18a372f1f8d1f8783bb9d2adbb7468c8954ceb9bd85123fe5e543c54fcdd6/diff:/var/lib/docker/overlay2/38e7b3a966a413e995d6e07dd8ae1c1f5de7b024340b89cb07802a8af283759e/diff",
"MergedDir": "/var/lib/docker/overlay2/51b6b3c84844f0fc12bafba149e4ce9241ca190c00ccb94ea19300ec9ac7dfe7/merged",
"UpperDir": "/var/lib/docker/overlay2/51b6b3c84844f0fc12bafba149e4ce9241ca190c00ccb94ea19300ec9ac7dfe7/diff",
"WorkDir": "/var/lib/docker/overlay2/51b6b3c84844f0fc12bafba149e4ce9241ca190c00ccb94ea19300ec9ac7dfe7/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:a07f4ed3adbe9f3131e7531782871ac8e2bd4abf9faf2292dbbf24e2e5746314",
"sha256:4897de39a0ee0991f4ad2a673c58cc1005950f71b6ca7d250a1be5201b8fd668",
"sha256:f326a04af6056375f6e7bd66110c9b75722233fbdd8b71626f578226559a5621",
"sha256:e90c77a9281765f15b28b6bf9ee41934ca90b5723d4da53df60daae6cd60060c",
"sha256:73cfc3311d6003db085cf543c302d62ecb7a53e7caeb010a087d12b80a6a5a32",
"sha256:16677022ef4c814f6dbffc4a7835f03b32944470d315aba902d23c1b9d08326d",
"sha256:a49144b787a4ea0ad64c3c94de9c610fcb5bc19af34088a3ec49410f1805b606",
"sha256:eb63f623aca439c1a35d8cc4e2e1a7e5b177c26319634db06c02cd70b07106b2",
"sha256:30014bf1fff34ca144b7fb4251e934ed2376013dbfeda0d7e578916e487f9edb",
"sha256:5849ab59fb639c28548ef5e0cc1d9912c6db91ee79bf03465a30714681717df2",
"sha256:94956f068bf81053a2043899b5cea7569dc070fbed67f86b5787286f2d942d56",
"sha256:8fd14a11d75e0674e190e0bfa21ec02d0112473c7cc0df24df3d2e8cfd935a49",
"sha256:c02476ced7d0d47d91b187f96def161375eec64fe64441af9f0b4948650fe579",
"sha256:fd99c0fbc0c1d47dccd8b88ba615595d1b71850eaac807e6017ab1b88ecae13f",
"sha256:b9ad77fbcd1430158c5980a10575d6868f6e896f37a040a406149c27aedce620",
"sha256:05c5285c23a961ea395029b733986dc698db73371856c024ee070eaba872e989",
"sha256:449446aa871b12b4024418d904e3ede07236a7a5bf2cf3d69f9a461cf1ab20d1",
"sha256:a281b05abcf93de654d7e7cfb7da49c959fc54cb43b1397057aadd886601678b",
"sha256:dc507b7a4fe15a2a4c0cba1c582e4a40dcb3e789995c2cc2645062bca4081a45"
]
},
"Metadata": {
"LastTagTime": "2025-08-16T15:11:08.70751733+08:00"
}
}