ℹ️
注意:这是一个 latest 标签镜像

latest 并不代表最新版本,本站同步时间存在延迟,无法保证此镜像与上游最新版本一致
生产环境建议使用明确的版本号(如 v1.2.3),避免因版本不一致导致问题。 了解更多 →

logo
docker.io/websoft9dev/websoft9:latest
linux/amd64 docker.io sondin 贡献

该镜像为Websoft9官方提供的核心镜像,集成了Websoft9的部署与管理工具,支持一键部署多种开源应用(如WordPress、MySQL、Nginx等),可简化开源软件的安装、配置与维护流程,帮助用户快速搭建稳定的应用环境。

10
浏览次数
1.07GB
镜像大小
国内镜像
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/websoft9dev/websoft9:latest
源镜像
docker.io/websoft9dev/websoft9:latest
镜像ID
sha256:a408427e1e42ebd6e503f700d6b212ba01e54c3cbde76a670f37e682e108f426
镜像 TAG
latest
镜像大小
1.07GB
平台架构
linux/amd64
镜像源
docker.io
CMD
启动入口
/websoft9/script/platform-container-entrypoint.sh
工作目录
/websoft9
OS/平台
linux/amd64
镜像创建
2026-08-05T08:33:04.250586066Z
同步时间
2026-08-11 19:04
浏览量
10 次
贡献者
avatar sondin
⚙️ 环境变量 15
KeyValue
PATH=/usr/local/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin 0
LANG=C.UTF-8 1
GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D 2
PYTHON_VERSION=3.11.15 3
PYTHON_SHA256=272179ddd9a2e41a0fc8e42e33dfbdca0b3711aa5abf372d3f2d51543d09b625 4
WEBSOFT9_RUNTIME_LAYOUT=single-container-target 5
WEBSOFT9_DATA_ROOT=/opt/websoft9/data 6
WEBSOFT9_APPHUB_HEALTH_URL=http://127.0.0.1:8080/api/healthz 7
WEBSOFT9_MEDIA_HEALTH_URL=http://127.0.0.1:8081/healthz 8
WEBSOFT9_SUPERVISOR_CONFIG=/etc/supervisor/conf.d/websoft9-platform.conf 9
WEBSOFT9_SUPERVISOR_SOCKET=/run/supervisor.sock 10
WEBSOFT9_SUPERVISOR_PIDFILE=/run/supervisord.pid 11
NPMHOME=/tmp/npmuserhome 12
PYTHONPATH=/opt/websoft9-pydeps:/websoft9/apphub:/websoft9/apphub/src 13
PYTHONUNBUFFERED=1 14
🏷️ 镜像标签 4
KeyValue
Websoft9<help@websoft9.com> maintainer
Converged Websoft9 runtime container org.opencontainers.image.description
Websoft9 Product org.opencontainers.image.title
2.3.4 org.opencontainers.image.version
🛡️ 镜像安全扫描
debian 13.6 Trivy 2026-08-11 19:05 查看完整报告
162
低危 LOW
286
中危 MEDIUM
225
高危 HIGH
25
严重 CRITICAL
受影响目标 (15)
docker.io/websoft9dev/websoft9:latest (debian 13.6) debian Node.js node-pkg Python python-pkg app/gitea/gitea gobinary portainer gobinary usr/local/bin/init_portainer gobinary /app/schema/paths/nginx/certificates/certID/upload/post.json /websoft9/appstore/current/library/apps/apisix/src/config/mkcert/lvh.me+1-key.pem /websoft9/appstore/current/library/apps/apisix/src/config/mkcert/rootCA-key.pem /websoft9/appstore/releases/72658e7ede1398ee/library/apps/apisix/src/config/mkcert/lvh.me+1-key.pem /websoft9/appstore/releases/72658e7ede1398ee/library/apps/apisix/src/config/mkcert/rootCA-key.pem /websoft9/appstore/staging/72658e7ede1398ee/library/apps/apisix/src/config/mkcert/lvh.me+1-key.pem /websoft9/appstore/staging/72658e7ede1398ee/library/apps/apisix/src/config/mkcert/rootCA-key.pem /websoft9/library/apps/apisix/src/config/mkcert/lvh.me+1-key.pem /websoft9/library/apps/apisix/src/config/mkcert/rootCA-key.pem

Docker拉取命令

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/websoft9dev/websoft9:latest
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/websoft9dev/websoft9:latest  docker.io/websoft9dev/websoft9:latest

Containerd拉取命令

ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/websoft9dev/websoft9:latest
ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/websoft9dev/websoft9:latest  docker.io/websoft9dev/websoft9:latest

Shell快速替换命令

sed -i 's#websoft9dev/websoft9:latest#swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/websoft9dev/websoft9:latest#' deployment.yaml

Ansible快速分发-Docker

#ansible k8s -m shell -a 'docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/websoft9dev/websoft9:latest && docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/websoft9dev/websoft9:latest  docker.io/websoft9dev/websoft9:latest'

Ansible快速分发-Containerd

#ansible k8s -m shell -a 'ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/websoft9dev/websoft9:latest && ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/websoft9dev/websoft9:latest  docker.io/websoft9dev/websoft9:latest'

镜像构建历史


# 2026-08-05 16:33:04  0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/websoft9/script/platform-container-entrypoint.sh"]
                        
# 2026-08-05 16:33:04  0.00B 设置工作目录为/websoft9
WORKDIR /websoft9
                        
# 2026-08-05 16:33:04  0.00B 指定检查容器健康状态的命令
HEALTHCHECK {Test:[CMD /websoft9/script/platform-healthcheck.sh --readiness] Interval:15s Timeout:5s StartPeriod:0s StartInterval:0s Retries:6}
                        
# 2026-08-05 16:33:04  92.77KB 执行命令并创建新的镜像层
RUN |3 WEBSOFT9_PRODUCT_VERSION=2.3.4 WEBSOFT9_APPSTORE_CHANNEL=release WEBSOFT9_CACHE_BUSTER=30989328296 /bin/sh -c chmod +x /app/init_nginx.sh     /websoft9/script/platform-container-entrypoint.sh     /websoft9/script/platform-entrypoint.sh     /websoft9/script/platform-healthcheck.sh     /websoft9/script/platform-service-control.sh     /websoft9/script/platform-start-gateway.sh     /websoft9/script/platform-start-gitea.sh     /websoft9/script/platform-start-npm-backend.sh     /websoft9/script/platform-start-npm-nginx.sh     /websoft9/script/platform-start-portainer.sh     /websoft9/script/platform-ensure-product-metadata.py     /websoft9/script/platform-sync-config.sh     /websoft9/script/platform-sync-runtime-assets.py &&     mkdir -p /etc/websoft9     /etc/websoft9/console     /etc/websoft9/platform-gateway     /run/nginx     /run/websoft9     /tmp/nginx/body     /tmp/npmuserhome     /var/cache/nginx     /var/lib/nginx/cache/private     /var/lib/nginx/cache/public     /var/log/nginx     /opt/websoft9/data/config     /opt/websoft9/data/logs     /opt/websoft9/data/nginx/custom     /opt/websoft9/data/nginx/default_host     /opt/websoft9/data/nginx/default_www     /opt/websoft9/data/nginx/dead_host     /opt/websoft9/data/nginx/proxy_host     /opt/websoft9/data/nginx/redirection_host     /opt/websoft9/data/nginx/stream     /opt/websoft9/data/nginx/temp     /opt/websoft9/data/custom_ssl     /opt/websoft9/data/gitea/conf     /opt/websoft9/data/portainer     /websoft9/media     /websoft9/library/apps     /websoft9/apphub/swagger-ui # buildkit
                        
# 2026-08-05 16:33:04  292.00B 执行命令并创建新的镜像层
RUN |3 WEBSOFT9_PRODUCT_VERSION=2.3.4 WEBSOFT9_APPSTORE_CHANNEL=release WEBSOFT9_CACHE_BUSTER=30989328296 /bin/sh -c printf '%s\n' '#!/bin/sh' 'exec python3 -m supervisor.supervisord "$@"' > /usr/local/bin/supervisord &&     printf '%s\n' '#!/bin/sh' 'exec python3 -m supervisor.supervisorctl "$@"' > /usr/local/bin/supervisorctl &&     printf '%s\n' '#!/bin/sh' 'export PYTHONPATH="/opt/websoft9-pydeps:/websoft9/apphub:/websoft9/apphub/src"' 'export WEBSOFT9_CLI_NAME="websoft9"' 'exec python3 /websoft9/apphub/src/cli/apphub_cli.py "$@"' > /usr/local/bin/websoft9 &&     chmod +x /usr/local/bin/supervisord /usr/local/bin/supervisorctl /usr/local/bin/websoft9 # buildkit
                        
# 2026-08-05 16:33:04  250.98MB 执行命令并创建新的镜像层
RUN |3 WEBSOFT9_PRODUCT_VERSION=2.3.4 WEBSOFT9_APPSTORE_CHANNEL=release WEBSOFT9_CACHE_BUSTER=30989328296 /bin/sh -c WEBSOFT9_RUNTIME_ASSET_SYNC_MODE=build     WEBSOFT9_RUNTIME_ASSET_CHANNEL="${WEBSOFT9_APPSTORE_CHANNEL}"     python3 /websoft9/script/platform-sync-runtime-assets.py # buildkit
                        
# 2026-08-05 16:32:29  0.00B 定义构建参数
ARG WEBSOFT9_CACHE_BUSTER=30989328296
                        
# 2026-08-05 16:32:29  0.00B 执行命令并创建新的镜像层
RUN |2 WEBSOFT9_PRODUCT_VERSION=2.3.4 WEBSOFT9_APPSTORE_CHANNEL=release /bin/sh -c chmod 0644 /etc/cron.d/websoft9-appstore # buildkit
                        
# 2026-08-05 16:32:29  411.00B 复制新文件或目录到容器中
COPY docker/crontab /etc/cron.d/websoft9-appstore # buildkit
                        
# 2026-08-05 16:32:29  50.31KB 复制新文件或目录到容器中
COPY docker/scripts/platform-sync-runtime-assets.py /websoft9/script/platform-sync-runtime-assets.py # buildkit
                        
# 2026-08-05 16:32:29  1.73KB 复制新文件或目录到容器中
COPY docker/scripts/platform-ensure-product-metadata.py /websoft9/script/platform-ensure-product-metadata.py # buildkit
                        
# 2026-08-05 16:32:29  4.84KB 复制新文件或目录到容器中
COPY docker/scripts/platform-sync-config.sh /websoft9/script/platform-sync-config.sh # buildkit
                        
# 2026-08-05 16:32:29  771.00B 复制新文件或目录到容器中
COPY docker/scripts/platform-start-portainer.sh /websoft9/script/platform-start-portainer.sh # buildkit
                        
# 2026-08-05 16:32:29  2.73KB 复制新文件或目录到容器中
COPY docker/scripts/platform-start-npm-nginx.sh /websoft9/script/platform-start-npm-nginx.sh # buildkit
                        
# 2026-08-05 16:32:29  5.79KB 复制新文件或目录到容器中
COPY docker/scripts/platform-start-npm-backend.sh /websoft9/script/platform-start-npm-backend.sh # buildkit
                        
# 2026-08-05 16:32:29  4.23KB 复制新文件或目录到容器中
COPY docker/scripts/platform-start-gitea.sh /websoft9/script/platform-start-gitea.sh # buildkit
                        
# 2026-08-05 16:32:29  7.80KB 复制新文件或目录到容器中
COPY docker/scripts/platform-start-gateway.sh /websoft9/script/platform-start-gateway.sh # buildkit
                        
# 2026-08-05 16:32:29  1.87KB 复制新文件或目录到容器中
COPY docker/scripts/platform-service-control.sh /websoft9/script/platform-service-control.sh # buildkit
                        
# 2026-08-05 16:32:29  5.10KB 复制新文件或目录到容器中
COPY docker/scripts/platform-healthcheck.sh /websoft9/script/platform-healthcheck.sh # buildkit
                        
# 2026-08-05 16:32:29  16.05KB 复制新文件或目录到容器中
COPY docker/scripts/platform-entrypoint.sh /websoft9/script/platform-entrypoint.sh # buildkit
                        
# 2026-08-05 16:32:29  918.00B 复制新文件或目录到容器中
COPY docker/scripts/platform-container-entrypoint.sh /websoft9/script/platform-container-entrypoint.sh # buildkit
                        
# 2026-08-05 16:32:29  2.81KB 复制新文件或目录到容器中
COPY docker/supervisord.conf /etc/supervisor/conf.d/websoft9-platform.conf # buildkit
                        
# 2026-08-05 16:32:29  1.03KB 复制新文件或目录到容器中
COPY docker/apphub/logging_config.yaml /etc/supervisor/conf.d/logging_config.yaml # buildkit
                        
# 2026-08-05 16:32:29  11.87KB 复制新文件或目录到容器中
COPY docker/gateway/platform-gateway-routes.conf /etc/websoft9/platform-gateway/platform-gateway-routes.conf # buildkit
                        
# 2026-08-05 16:32:29  585.00B 复制新文件或目录到容器中
COPY docker/gateway/default.conf /etc/websoft9/platform-gateway/default.conf # buildkit
                        
# 2026-08-05 16:32:29  519.00B 复制新文件或目录到容器中
COPY docker/gateway/nginx.conf /etc/websoft9/platform-gateway/nginx.conf # buildkit
                        
# 2026-08-05 16:32:29  123.00B 复制新文件或目录到容器中
COPY mirrors.json /websoft9/mirrors.json # buildkit
                        
# 2026-08-05 16:32:29  11.77KB 复制新文件或目录到容器中
COPY docker/proxy/init_nginx.sh /app/init_nginx.sh # buildkit
                        
# 2026-08-05 16:32:29  37.48KB 复制新文件或目录到容器中
COPY docker/proxy/default_www/ /var/www/html/ # buildkit
                        
# 2026-08-05 16:32:29  199.00B 复制新文件或目录到容器中
COPY docker/proxy/config/http.conf /opt/websoft9/data/nginx/custom/http.conf # buildkit
                        
# 2026-08-05 16:32:29  4.39MB 复制新文件或目录到容器中
COPY /build/console/dist /etc/websoft9/console # buildkit
                        
# 2026-08-05 16:32:29  2.36MB 执行命令并创建新的镜像层
RUN |2 WEBSOFT9_PRODUCT_VERSION=2.3.4 WEBSOFT9_APPSTORE_CHANNEL=release /bin/sh -c WEBSOFT9_PRODUCT_VERSION="${WEBSOFT9_PRODUCT_VERSION}" WEBSOFT9_APPSTORE_CHANNEL="${WEBSOFT9_APPSTORE_CHANNEL}" python3 - <<'PY'
import os
import sys
import json
from pathlib import Path

sys.path.insert(0, "/websoft9/apphub")

from src.services.product_runtime_state import initialize_product_runtime_state, read_release_version_file

version_path = Path("/websoft9/version.json")
payload = read_release_version_file(version_path)

version = (os.environ.get("WEBSOFT9_PRODUCT_VERSION") or str(payload.get("version") or "")).strip()
channel = (os.environ.get("WEBSOFT9_APPSTORE_CHANNEL") or str(payload.get("channel") or "release")).strip().lower()

if not version:
    raise SystemExit("WEBSOFT9_PRODUCT_VERSION is required for product image builds")

if channel not in {"release", "dev"}:
    raise SystemExit(f"Unsupported WEBSOFT9_APPSTORE_CHANNEL: {channel}")

payload["version"] = version
payload["channel"] = channel
version_path.write_text(json.dumps(payload, ensure_ascii=False, indent=2) + "\n", encoding="utf-8")

initialize_product_runtime_state()
PY # buildkit
                        
# 2026-08-05 16:32:29  2.29MB 复制新文件或目录到容器中
COPY apphub /websoft9/apphub # buildkit
                        
# 2026-08-05 16:32:29  41.00B 复制新文件或目录到容器中
COPY version.json /websoft9/version.json # buildkit
                        
# 2026-08-05 16:32:29  8.83MB 复制新文件或目录到容器中
COPY /build/init_portainer /usr/local/bin/init_portainer # buildkit
                        
# 2026-08-05 16:32:14  47.68MB 复制新文件或目录到容器中
COPY /public /opt/websoft9-portainer/public # buildkit
                        
# 2026-08-05 16:32:14  96.35MB 复制新文件或目录到容器中
COPY /portainer /portainer # buildkit
                        
# 2026-08-05 16:32:12  662.12KB 复制新文件或目录到容器中
COPY /lib/libc.musl-x86_64.so.1 /lib/libc.musl-x86_64.so.1 # buildkit
                        
# 2026-08-05 16:32:12  662.12KB 复制新文件或目录到容器中
COPY /lib/ld-musl-x86_64.so.1 /lib/ld-musl-x86_64.so.1 # buildkit
                        
# 2026-08-05 16:32:12  114.01MB 复制新文件或目录到容器中
COPY /app/gitea/gitea /app/gitea/gitea # buildkit
                        
# 2026-08-05 16:32:12  581.00B 复制新文件或目录到容器中
COPY /usr/local/bin/gitea /usr/local/bin/gitea # buildkit
                        
# 2026-08-05 16:32:12  68.56MB 复制新文件或目录到容器中
COPY /opt/websoft9-pydeps /opt/websoft9-pydeps # buildkit
                        
# 2026-08-05 16:32:12  4.97KB 执行命令并创建新的镜像层
RUN |2 WEBSOFT9_PRODUCT_VERSION=2.3.4 WEBSOFT9_APPSTORE_CHANNEL=release /bin/sh -c getent group git >/dev/null || groupadd --gid 1000 git &&     id -u git >/dev/null 2>&1 || useradd --uid 1000 --gid 1000 --home-dir /opt/websoft9/data/gitea --shell /bin/bash git # buildkit
                        
# 2026-08-05 16:32:11  4.75KB 执行命令并创建新的镜像层
RUN |2 WEBSOFT9_PRODUCT_VERSION=2.3.4 WEBSOFT9_APPSTORE_CHANNEL=release /bin/sh -c getent group npm >/dev/null || groupadd --system npm &&     id -u npm >/dev/null 2>&1 || useradd --system --gid npm --home-dir /tmp/npmuserhome --shell /usr/sbin/nologin npm # buildkit
                        
# 2026-08-05 16:32:11  7.05MB 执行命令并创建新的镜像层
RUN |2 WEBSOFT9_PRODUCT_VERSION=2.3.4 WEBSOFT9_APPSTORE_CHANNEL=release /bin/sh -c mkdir -p /opt/websoft9-npm-frontend && cp -a /app/frontend/. /opt/websoft9-npm-frontend/ # buildkit
                        
# 2026-08-05 16:32:11  485.33KB 复制新文件或目录到容器中
COPY /lib/x86_64-linux-gnu/libpcre.so.3.13.3 /lib/x86_64-linux-gnu/libpcre.so.3.13.3 # buildkit
                        
# 2026-08-05 16:32:11  485.33KB 复制新文件或目录到容器中
COPY /lib/x86_64-linux-gnu/libpcre.so.3 /lib/x86_64-linux-gnu/libpcre.so.3 # buildkit
                        
# 2026-08-05 16:32:11  13.83MB 复制新文件或目录到容器中
COPY /usr/sbin/nginx /usr/sbin/nginx # buildkit
                        
# 2026-08-05 16:32:11  99.89MB 复制新文件或目录到容器中
COPY /usr/bin/node /usr/bin/node # buildkit
                        
# 2026-08-05 16:32:11  540.00B 复制新文件或目录到容器中
COPY /etc/logrotate.d/nginx-proxy-manager /etc/logrotate.d/nginx-proxy-manager # buildkit
                        
# 2026-08-05 16:32:11  17.34MB 复制新文件或目录到容器中
COPY /etc/nginx /etc/nginx # buildkit
                        
# 2026-08-05 16:32:11  158.00B 复制新文件或目录到容器中
COPY /etc/letsencrypt.ini /etc/letsencrypt.ini # buildkit
                        
# 2026-08-05 16:32:11  45.18MB 复制新文件或目录到容器中
COPY /app /app # buildkit
                        
# 2026-08-05 16:32:10  0.00B 定义构建参数
ARG WEBSOFT9_APPSTORE_CHANNEL=release
                        
# 2026-08-05 16:32:10  0.00B 定义构建参数
ARG WEBSOFT9_PRODUCT_VERSION=2.3.4
                        
# 2026-08-05 16:32:10  167.64MB 执行命令并创建新的镜像层
RUN /bin/sh -c apt-get update &&     apt-get install --no-install-recommends -y     bash     bzip2     ca-certificates     certbot     cron     curl     git     jq     libstdc++6     logrotate     openssl     sqlite3 &&     rm -rf /var/lib/apt/lists/* # buildkit
                        
# 2026-08-05 16:31:47  0.00B 设置工作目录为/websoft9
WORKDIR /websoft9
                        
# 2026-08-05 16:31:47  0.00B 设置环境变量 WEBSOFT9_RUNTIME_LAYOUT WEBSOFT9_DATA_ROOT WEBSOFT9_APPHUB_HEALTH_URL WEBSOFT9_MEDIA_HEALTH_URL WEBSOFT9_SUPERVISOR_CONFIG WEBSOFT9_SUPERVISOR_SOCKET WEBSOFT9_SUPERVISOR_PIDFILE NPMHOME PATH PYTHONPATH PYTHONUNBUFFERED
ENV WEBSOFT9_RUNTIME_LAYOUT=single-container-target WEBSOFT9_DATA_ROOT=/opt/websoft9/data WEBSOFT9_APPHUB_HEALTH_URL=http://127.0.0.1:8080/api/healthz WEBSOFT9_MEDIA_HEALTH_URL=http://127.0.0.1:8081/healthz WEBSOFT9_SUPERVISOR_CONFIG=/etc/supervisor/conf.d/websoft9-platform.conf WEBSOFT9_SUPERVISOR_SOCKET=/run/supervisor.sock WEBSOFT9_SUPERVISOR_PIDFILE=/run/supervisord.pid NPMHOME=/tmp/npmuserhome PATH=/usr/local/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin PYTHONPATH=/opt/websoft9-pydeps:/websoft9/apphub:/websoft9/apphub/src PYTHONUNBUFFERED=1
                        
# 2026-08-05 16:31:47  0.00B 添加元数据标签
LABEL org.opencontainers.image.description=Converged Websoft9 runtime with AppHub, Gitea, Portainer, and Nginx Proxy Manager
                        
# 2026-08-05 16:31:47  0.00B 添加元数据标签
LABEL org.opencontainers.image.title=Websoft9 Product Container
                        
# 2026-08-05 16:31:47  0.00B 添加元数据标签
LABEL maintainer=Websoft9<help@websoft9.com>
                        
# 2026-08-05 09:12:29  0.00B 设置默认要执行的命令
CMD ["python3"]
                        
# 2026-08-05 09:12:29  36.00B 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; 	for src in idle3 pip3 pydoc3 python3 python3-config; do 		dst="$(echo "$src" | tr -d 3)"; 		[ -s "/usr/local/bin/$src" ]; 		[ ! -e "/usr/local/bin/$dst" ]; 		ln -svT "$src" "/usr/local/bin/$dst"; 	done # buildkit
                        
# 2026-08-05 09:12:29  42.40MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; 		savedAptMark="$(apt-mark showmanual)"; 	apt-get update; 	apt-get install -y --no-install-recommends 		dpkg-dev 		gcc 		gnupg 		libbluetooth-dev 		libbz2-dev 		libc6-dev 		libdb-dev 		libffi-dev 		libgdbm-dev 		liblzma-dev 		libncursesw5-dev 		libreadline-dev 		libsqlite3-dev 		libssl-dev 		make 		tk-dev 		uuid-dev 		wget 		xz-utils 		zlib1g-dev 	; 		wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; 	echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; 	wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; 	GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; 	gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; 	gpg --batch --verify python.tar.xz.asc python.tar.xz; 	gpgconf --kill all; 	rm -rf "$GNUPGHOME" python.tar.xz.asc; 	mkdir -p /usr/src/python; 	tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; 	rm python.tar.xz; 		cd /usr/src/python; 	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; 	./configure 		--build="$gnuArch" 		--enable-loadable-sqlite-extensions 		--enable-optimizations 		--enable-option-checking=fatal 		--enable-shared 		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') 		--with-ensurepip 	; 	nproc="$(nproc)"; 	EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; 	LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; 	LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; 	make -j "$nproc" 		"EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" 		"LDFLAGS=${LDFLAGS:-}" 	; 	rm python; 	make -j "$nproc" 		"EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" 		"LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" 		python 	; 	make install; 		cd /; 	rm -rf /usr/src/python; 		find /usr/local -depth 		\( 			\( -type d -a \( -name test -o -name tests -o -name idle_test \) \) 			-o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) 		\) -exec rm -rf '{}' + 	; 		ldconfig; 		apt-mark auto '.*' > /dev/null; 	apt-mark manual $savedAptMark; 	find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' 		| awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' 		| sort -u 		| xargs -rt dpkg-query --search 		| awk 'sub(":$", "", $1) { print $1 }' 		| sort -u 		| xargs -r apt-mark manual 	; 	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; 	apt-get dist-clean; 		export PYTHONDONTWRITEBYTECODE=1; 	python3 --version; 		pip3 install 		--disable-pip-version-check 		--no-cache-dir 		--no-compile 		'setuptools==79.0.1' 		'wheel==0.46.3' 	; 	pip3 --version # buildkit
                        
# 2026-08-05 09:05:13  0.00B 设置环境变量 PYTHON_SHA256
ENV PYTHON_SHA256=272179ddd9a2e41a0fc8e42e33dfbdca0b3711aa5abf372d3f2d51543d09b625
                        
# 2026-08-05 09:05:13  0.00B 设置环境变量 PYTHON_VERSION
ENV PYTHON_VERSION=3.11.15
                        
# 2026-08-05 09:05:13  0.00B 设置环境变量 GPG_KEY
ENV GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D
                        
# 2026-08-05 09:05:13  3.81MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; 	apt-get update; 	apt-get install -y --no-install-recommends 		ca-certificates 		netbase 		tzdata 	; 	apt-get dist-clean # buildkit
                        
# 2026-08-05 09:05:13  0.00B 设置环境变量 LANG
ENV LANG=C.UTF-8
                        
# 2026-08-05 09:05:13  0.00B 设置环境变量 PATH
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
                        
# 2026-08-03 08:00:00  78.62MB 
# debian.sh --arch 'amd64' out/ 'trixie' '@1785715200'
                        
                    

镜像信息

{
    "Id": "sha256:a408427e1e42ebd6e503f700d6b212ba01e54c3cbde76a670f37e682e108f426",
    "RepoTags": [
        "websoft9dev/websoft9:latest",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/websoft9dev/websoft9:latest"
    ],
    "RepoDigests": [
        "websoft9dev/websoft9@sha256:d059bd2dd6389755d3a0e61c915f3ee8c7c8ddf5e3d20f3131b0395760553145",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/websoft9dev/websoft9@sha256:fdecafa02f5ea066d2c80323bd4263e2bdb169af42863ec1d0fe4c7c4ec7abba"
    ],
    "Parent": "",
    "Comment": "buildkit.dockerfile.v0",
    "Created": "2026-08-05T08:33:04.250586066Z",
    "Container": "",
    "ContainerConfig": null,
    "DockerVersion": "",
    "Author": "",
    "Config": {
        "Hostname": "",
        "Domainname": "",
        "User": "",
        "AttachStdin": false,
        "AttachStdout": false,
        "AttachStderr": false,
        "Tty": false,
        "OpenStdin": false,
        "StdinOnce": false,
        "Env": [
            "PATH=/usr/local/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin",
            "LANG=C.UTF-8",
            "GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D",
            "PYTHON_VERSION=3.11.15",
            "PYTHON_SHA256=272179ddd9a2e41a0fc8e42e33dfbdca0b3711aa5abf372d3f2d51543d09b625",
            "WEBSOFT9_RUNTIME_LAYOUT=single-container-target",
            "WEBSOFT9_DATA_ROOT=/opt/websoft9/data",
            "WEBSOFT9_APPHUB_HEALTH_URL=http://127.0.0.1:8080/api/healthz",
            "WEBSOFT9_MEDIA_HEALTH_URL=http://127.0.0.1:8081/healthz",
            "WEBSOFT9_SUPERVISOR_CONFIG=/etc/supervisor/conf.d/websoft9-platform.conf",
            "WEBSOFT9_SUPERVISOR_SOCKET=/run/supervisor.sock",
            "WEBSOFT9_SUPERVISOR_PIDFILE=/run/supervisord.pid",
            "NPMHOME=/tmp/npmuserhome",
            "PYTHONPATH=/opt/websoft9-pydeps:/websoft9/apphub:/websoft9/apphub/src",
            "PYTHONUNBUFFERED=1"
        ],
        "Cmd": null,
        "Healthcheck": {
            "Test": [
                "CMD",
                "/websoft9/script/platform-healthcheck.sh",
                "--readiness"
            ],
            "Interval": 15000000000,
            "Timeout": 5000000000,
            "Retries": 6
        },
        "Image": "",
        "Volumes": null,
        "WorkingDir": "/websoft9",
        "Entrypoint": [
            "/websoft9/script/platform-container-entrypoint.sh"
        ],
        "OnBuild": null,
        "Labels": {
            "maintainer": "Websoft9\u003chelp@websoft9.com\u003e",
            "org.opencontainers.image.description": "Converged Websoft9 runtime container",
            "org.opencontainers.image.title": "Websoft9 Product",
            "org.opencontainers.image.version": "2.3.4"
        }
    },
    "Architecture": "amd64",
    "Os": "linux",
    "Size": 1073763590,
    "GraphDriver": {
        "Data": {
            "LowerDir": "/var/lib/docker/overlay2/562f825718683e78ac2869902e0c956e19b1109a0bab0ce4fa24a6bbb7afbd27/diff:/var/lib/docker/overlay2/448d259e55082badafcf0d9fa5055bea4098a1d777919a5844b490d9de38103f/diff:/var/lib/docker/overlay2/25b1adce2d0c3565b8336d915a156b1bb40cfe274b54eb66b9134d32539e74c1/diff:/var/lib/docker/overlay2/98a4b6302a544647f24a7888664e5e1dae89b7c1cb9f58685a2895d020190143/diff:/var/lib/docker/overlay2/3a9929e9b2f49affff15c4f6555051a57505e990bbdab854f78039dec30da31d/diff:/var/lib/docker/overlay2/3243b656fb9cad2c49263e53e4ddb1f74ae783f965933906a23f1d8226ccc90f/diff:/var/lib/docker/overlay2/0552d105914b569d16ed201e232febb72ef81198ee94e40d8c5a8b2e1edec3ca/diff:/var/lib/docker/overlay2/848cc722278e14b45a6c44e9000486713655a116077858b1e1c5cd51b0a5af2e/diff:/var/lib/docker/overlay2/b2fa9237fde0371be0101f59f3155db667fb29bf5906a524b23df0f95b2bd5e6/diff:/var/lib/docker/overlay2/443db0602f7f4695868b04fc69e78b37267a7a3a7a5a660d563463c9c60978b8/diff:/var/lib/docker/overlay2/1e5b08c367d4f152774b5a18d1668de498816a009fe8a31b6c57b09d963fdf40/diff:/var/lib/docker/overlay2/96caba317d93ea809cb80e0a7f205115b55d6055e02d94ac8192d5e59f43c111/diff:/var/lib/docker/overlay2/1a9a2ec46b26f49a71ac5c27d263f9892a1478dca2c86e8afc82b9cca0dbc9e5/diff:/var/lib/docker/overlay2/b9c808374212dca91c708d52dedc74509a9562c74546bb82a54abc0464ae819b/diff:/var/lib/docker/overlay2/849c846a55737fe54e5bc6e0e416bc0b6c231315e698490b5351ac7f37057318/diff:/var/lib/docker/overlay2/219c6bbb2f2b338a2c8ba54ac33f40ce73783f230515e88dfdb5de5420004c5a/diff:/var/lib/docker/overlay2/d37628c4d50175e4414ff10ce4ebe839159684711d68b965e5da4f8288f7d669/diff:/var/lib/docker/overlay2/002923d5921b4e7bdabf53a6bd92df73b6e7bd49a792b7e1c4c854258d22c05a/diff:/var/lib/docker/overlay2/52c55801a173ae707d20aa02b1fb50fd238af9e33224096922407f5f841a6dbd/diff:/var/lib/docker/overlay2/f8fd1f083324a78543b693a7b00acf4fbaccbfb358afb0ea83b719aa15112278/diff:/var/lib/docker/overlay2/41217db12619141203196b2e9c2df5009569c3829318ec2b627c41d035fc7914/diff:/var/lib/docker/overlay2/8dd17934a0d2d490e717ce040b2b6c331f34017d4fe4f952cbb073dd15373ab1/diff:/var/lib/docker/overlay2/91d84ff7f6992a3ffb277df752d248b964ec5a8fd6c12ee7a000de6e825bceff/diff:/var/lib/docker/overlay2/befb598db0e6048c8cddaf38ee820478211961cbcf8ea5a4e27200ca76ac199d/diff:/var/lib/docker/overlay2/29b57cd499fe41e6be75afc84694fd76a6e92987d4d8594ba35a4c6c0b8f0dbd/diff:/var/lib/docker/overlay2/02dc1c1424af0b2b2e756688cf489d318e9acc861f44f1a4660c434c9ef116e2/diff:/var/lib/docker/overlay2/35314b63b87ee00b3624f09707780d771fd185636246d46fbbaf721c210ef2b5/diff:/var/lib/docker/overlay2/a501a89299476552df308c0c093b9e285354de1a7227ebb8588abc7719e31050/diff:/var/lib/docker/overlay2/0b8172bf9ef2c5c8379cc0a41c0144d631cec8044d40972dcba0e2c1b7930f98/diff:/var/lib/docker/overlay2/9e61eb55979bf3d467137f86470d37811468304f6fdf1f9af408f3fd7c496a48/diff:/var/lib/docker/overlay2/7edeac5701a2fd0c8a8cd89faa3ca2f6ac0b30918bba20731443f24e21e6bccb/diff:/var/lib/docker/overlay2/93fae94eccfccb81c0c3dc6d2bfb5b53ce3ce2063f4508f0c55d14d6d6241d0f/diff:/var/lib/docker/overlay2/8196c02a78c690ce743144ffe78fef92ca62ae8ef6f798f416f872c519e09a52/diff:/var/lib/docker/overlay2/c54337559147ab397613f0bc25b536c918c06853ce99216b4e1fd915e6398e55/diff:/var/lib/docker/overlay2/4bdf103bbcb369fcad62d30f78ed90ae865affe47af423c3b90a152ed264583b/diff:/var/lib/docker/overlay2/e5a6a9424606f76547bd2ca81912f583ba698fb675a70a4f5410cd59dd1c6cd0/diff:/var/lib/docker/overlay2/a1e18076f84f46744ed45343f235d86bcbfde650a8dee8efbfbffe7ed3178fbf/diff:/var/lib/docker/overlay2/24ed1fe96f4a24be54672b0715899d4bfeabbee1ede4ae49ddee3b9529109240/diff:/var/lib/docker/overlay2/4b8ddc6241b03e4b6a4ee143a44bff3c6498297d5fb5a7aec7590d47ae1ba92f/diff:/var/lib/docker/overlay2/299176b3a497f7f9ac25633c0ba7165faf868fd9ab59acb185e64848b1dd994f/diff:/var/lib/docker/overlay2/fbb9bba541fa5a4cd2645fa546cd0e3f4edde4ce8929c1d710f83dd041388b48/diff:/var/lib/docker/overlay2/75f6efda6b4f673046c1dd7bbf03df3504e3b300a29a42fe2f13a11716632fb7/diff:/var/lib/docker/overlay2/9128ff10477556d2ab5aaa954d55be226516960ec811f6995b211227dcfee386/diff:/var/lib/docker/overlay2/11fc91aebe6b56e8555a4a74ae52d3753caf0ee0a3a25f54e87014eeb691f1e3/diff:/var/lib/docker/overlay2/40f59e188ca8fcf7794df03d37d874f23b1bd4f39078d5cb1dc8d09274d1073d/diff:/var/lib/docker/overlay2/110b99afecb541dc913ac761b3fb138f88c558cd3f2b0db3c3f3b6cfcb9d9d91/diff:/var/lib/docker/overlay2/7c1928e6c57144ce43a06bab8c5d1d44ea4e104a19fd7dec2d04e3347f5367a5/diff:/var/lib/docker/overlay2/073675e9f3ca59bd599c07bb0005e6a065960f876aa0fd4c46dc512af92fce48/diff:/var/lib/docker/overlay2/9b6073aede418a301fad3736d8e47a57092494e1b75d61d072c7c58cdcc8a88a/diff:/var/lib/docker/overlay2/b3e9de95119c0755d8171def34f6c99dbc5425a6c72823da0691371e6d641294/diff:/var/lib/docker/overlay2/852932937ef99aecbb2b52eb0c6f0fbf990fa6fd94d9bbf2641e79397d265055/diff:/var/lib/docker/overlay2/2b80ed52cedb913658d1bf8b36cbb080e20db54a801afa14ec3246233597a5ed/diff:/var/lib/docker/overlay2/d162e0ca5ea0bffeaaed7fefe8a27e6fbf276ec0c6451d981716fc82bcda5a56/diff:/var/lib/docker/overlay2/9045beedac66074d1b80d5695610dd7af0f58a7c726361f950cf962ef699ba98/diff:/var/lib/docker/overlay2/faff4113146787f7bb5a6ce2a00d7d8484098129ae09c7d0ce5acd028427696c/diff",
            "MergedDir": "/var/lib/docker/overlay2/41b1121a9a1ca1c5b2097b59231fbbe76ed742333d7f07e01ce23301f1944beb/merged",
            "UpperDir": "/var/lib/docker/overlay2/41b1121a9a1ca1c5b2097b59231fbbe76ed742333d7f07e01ce23301f1944beb/diff",
            "WorkDir": "/var/lib/docker/overlay2/41b1121a9a1ca1c5b2097b59231fbbe76ed742333d7f07e01ce23301f1944beb/work"
        },
        "Name": "overlay2"
    },
    "RootFS": {
        "Type": "layers",
        "Layers": [
            "sha256:6f94328331290cbd81edab450664d42da7b64c191416c9346cd5d28c84f76035",
            "sha256:6c3d72b3145b3e6fd1cb9f40bec451653da28422c27bd821f217cffbf8e2ce56",
            "sha256:801c4088600fc9b873e1c1e87708adfce646f06b31d533588ee4781bc917b8ed",
            "sha256:d2505f5a762d70dc386767149afedd28f8d33c71d0aa8ad88a71bd71940ffe01",
            "sha256:210b8dbc6d16bfddd44f6794a49f16a20c1bd438bbbfbb0b2e0ee54c43c6c2c0",
            "sha256:dac075adbee3930bd47762125da66ec87f204d8281bc913b902c989bcb100409",
            "sha256:258207757074517771b17c938766d48f80e51867411007d603d6c88afccba35c",
            "sha256:ce7a7b1315d357a84a2cb0d78a68d5b199e44a0458c8a87369e03e89dbd9e5ca",
            "sha256:58017bdce92c05635c5ad8485447c09e7dc24014b6767524156c8f9a14c6eb86",
            "sha256:8c3d9f676a9e30c1cb6c529cc971870a45fa5aaad2b2d7840828a8281d79c11e",
            "sha256:493dd2601684df5a1c479dfa77071e8508e61afad6665442fa85f7f5ce333926",
            "sha256:50433e2d48a40958423663edc21ac52af2e2079f5cd785d5e5de0bc5a3633ecf",
            "sha256:7cd3de107e9929c27e1de5a7ba4052e7cb030a95ef95d7aaddd7400ae0c1ace6",
            "sha256:2353eac407a1f831cb957890f1d5725db3a31c0403ce478f2ec71b8cf0b302de",
            "sha256:3a4315e3de3c565345a73abfb3ed3b74872cb09880941dc1b5a70368a3a7d3ae",
            "sha256:fc675cd43b10a65dbc20e2700c872eb46cfb17b200967086d81b7cd06783cc1d",
            "sha256:3d365c00719efc6bf21b6aad1556e48d48f1e2f3f81b998afaf4c307e81e5808",
            "sha256:95aef59c546d8776f371e71a49f4cbb4653305a6f29934ac40deaf17bdfa9a20",
            "sha256:21c6bf599ef089b97e4766206cb247349e580d1ad24ee4014ff4cf95954b189c",
            "sha256:9eed236c645aff18314304a35b99aa5de995bd31d98988a9a3e6d0e4851c85cc",
            "sha256:0df30ed4c7f1dd04908865eb2c9baaddca79b74b4d830b18b5275f17f0d88e3f",
            "sha256:e7cb08ff84fe353be74bab3e6060e21f1f10da45db2e803e0d0f77c4a554928d",
            "sha256:fe152fed76ec5fa1c4c0dbc7949e339b1cd4c25c9adb1d1a274283510439bd00",
            "sha256:48466b8914391d466263f4b9cf2e607b57ff763ffe2b458954a00988f79232ea",
            "sha256:377073658fee7357013d2807d18b142a17dac33fecd8416798d8d995ce286459",
            "sha256:03a7bb2fd3fa99e3a9ea188042cf8c2a4c2ccd6dddbf4ad1469f561f6ae5605f",
            "sha256:cfb2ce9fa9ae4299468a60084bb7e33e3e34fa82d65e467f8c945f4b66af2025",
            "sha256:b49cb428b0c6f0c2cd532a082542fc572ad7f6ad6dbc65d2299ecb2f9d0373ff",
            "sha256:c8838eda44f324a19731430c2334586493523d24acfa1dafb94f922fd0c64210",
            "sha256:4c35c5100ca9c58f60bf48cd9fc65e28ccef1231194231432cfe3ee5e6935825",
            "sha256:475eec811829153ac82eb78c582d91b04dab1f0ab65b9e3554394c6303fc8658",
            "sha256:4de3c5879bbd7290846207bbefbd7cffd1d0ff5f5a973d926f97912f8d5054f6",
            "sha256:1563c223182dc851d6fda866a9e7c84e36b50c69d7b82bde517794250147525e",
            "sha256:cf9f4ec5eba3d16136833be2abd9836e4f58cd9f6e324eba92083c577c5b39e6",
            "sha256:d3254b002e45b76b2c4f9060a67ed15a6e053b6491b65d4fa1696ec6d16d9f63",
            "sha256:660d5c2ad6964806861d0f7872b5d3720598b97d9c4593b1db8214a957af3829",
            "sha256:2b047d2cc3e250f3fcf40cb085a49399d4d8af9f0ef57927bb0a7990dbf23d1c",
            "sha256:724dbb3c692538d25eff8c9e70a110fd9fa58f22076d0f67c4c81aea7e103ff9",
            "sha256:ef50550eb144bd0c8559355bae2be8dafd564c4d90fb48a880fbbc226dca8524",
            "sha256:1df15739c97390d40130c688192cbb970c0191ca0d9d6c713eefbbd297ac60b8",
            "sha256:0646670066ef45756d3adb45c566e63eb95453fb4e8aa7727ef83a3469c68e7c",
            "sha256:cfdf29fe1e9c0713de0277e91f352a2b81fdedc2042a4ea46169c62376b2014e",
            "sha256:34c1db10e03d21f41868113767a606402c0e9b12202235932cbc0eb15fd3198a",
            "sha256:198630ec6d7f40bb2b81192743409006b382dbde19af1d05aabd196b0fc163eb",
            "sha256:8c09782364bc26795d8c047c2656fe441f1a9b9909c4b1028511e2522f8810e7",
            "sha256:4dfe32424407194c9a692bcc65b27a1618129fc4b06c219c7520268a54d2a2c7",
            "sha256:4606bfa85a9bda9294c8ad13cfe1cbce8a818910a07b8d2960a76d2a685d7a61",
            "sha256:26eeaae4783d6841227800d5182776e8015d45a4b1c50891a59c5c3664945d85",
            "sha256:4df80471d84eb1fabbc9a33aaec31668bfa1a52acd171c441e6a51bfb41cef2f",
            "sha256:cfef186dc7ce8e0736048733ef62363a296722164745e46fedca19db89b4de71",
            "sha256:4e1db51f39d2ed781b1084180e1193597a7d0fc5a8e9a2d1500758b2743b9cfc",
            "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
            "sha256:648a71c7c9a7b3a28a7a5a8ab173eb5d7cd0aca71ca2238c157a6995a464b23e",
            "sha256:fb4102cfff2014311fb2f7d4a33ff273b06904705956cde04afc753bb75f8423",
            "sha256:c3768585d5b638e26914f0c6e5ebb9a7c48128a3821e4d5d5a00fe291241270e",
            "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef"
        ]
    },
    "Metadata": {
        "LastTagTime": "2026-08-11T19:04:15.944992522+08:00"
    }
}

更多版本

docker.io/websoft9dev/websoft9:latest

linux/amd64 docker.io1.07GB2026-08-11 19:04
9
检测到您正在使用广告拦截插件,本站为公益站点,依赖广告维持运转 🙏 查看如何关闭 ×