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

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

logo
docker.io/cube-sandbox-image.tencentcloudcr.com/demo/aio-sandbox-envd-openclaw:latest
linux/amd64 docker.io M海M 贡献
20
浏览次数
6.74GB
镜像大小
国内镜像
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/cube-sandbox-image.tencentcloudcr.com/demo/aio-sandbox-envd-openclaw:latest
源镜像
docker.io/cube-sandbox-image.tencentcloudcr.com/demo/aio-sandbox-envd-openclaw:latest
镜像ID
sha256:9acc2d2ced30697c6d27a25f0d2de5f010a353f1b2f9f262358f34c3aed61dde
镜像 TAG
latest
镜像大小
6.74GB
平台架构
linux/amd64
镜像源
docker.io
CMD
/usr/local/bin/aio-with-envd.sh
启动入口
工作目录
/
OS/平台
linux/amd64
镜像创建
2026-05-24T13:19:54.204909521+08:00
同步时间
2026-10-22 18:56
浏览量
20 次
贡献者
avatar M海M
🔌 开放端口 3
18789/tcp 49983/tcp 8080/tcp
⚙️ 环境变量 47
KeyValue
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 0
DEBIAN_FRONTEND=noninteractive 1
USER=gem 2
USER_UID=1000 3
USER_GID=1000 4
DISPLAY=:99.0 5
DISPLAY_WIDTH=1280 6
DISPLAY_HEIGHT=1024 7
DISPLAY_DEPTH=24 8
XDG_RUNTIME_DIR=/tmp/runtime-gem 9
BROWSER_EXECUTABLE_PATH=/usr/local/bin/browser 10
BROWSER_REMOTE_DEBUGGING_PORT=9222 11
BROWSER_COMMANDLINE_ARGS=--disable-backgrounding-occluded-windows --disable-background-timer-throttling --disable-blink-features=AutomationControlled --disable-dev-shm-usage --disable-external-intent-requests --disable-features=IPH_DesktopCustomizeChrome,IsolateOrigins,site-per-proces,Translate --disable-focus-on-load --disable-gpu --disable-infobars --disable-popup-blocking --disable-prompt-on-repost --disable-renderer-backgrounding --disable-site-isolation-trials --disable-web-security --disable-window-activation --mute-audio --no-default-browser-check --no-first-run --noerrdialogs --remote-allow-origins=* --remote-debugging-port=9222 --suppress-message-center-popups --start-maximized 12
BROWSER_EXTRA_ARGS= 13
DNS_OVER_HTTPS_TEMPLATES= 14
LOG_DIR=/var/log/gem 15
JWT_PUBLIC_KEY= 16
VNC_SERVER_PORT=5900 17
WEBSOCKET_PROXY_PORT=6080 18
GEM_SERVER_PORT=8088 19
MCP_SERVER_PORT=8089 20
PUBLIC_PORT=8080 21
AUTH_BACKEND_PORT=8081 22
WAIT_PORTS=8091,8079 23
WAIT_TIMEOUT=300 24
WAIT_INTERVAL=0.25 25
MCP_HUB_PORT=8079 26
SANDBOX_SRV_PORT=8091 27
JUPYTER_LAB_PORT=8888 28
CODE_SERVER_PORT=8200 29
MCP_SERVER_BROWSER_PORT=8100 30
TINYPROXY_PORT=8118 31
MAX_SHELL_SESSIONS=50 32
LANG=en_US.UTF-8 33
TZ=Asia/Singapore 34
LANGUAGE=en_US:en 35
LC_ALL=en_US.UTF-8 36
PUPPETEER_EXECUTABLE_PATH=/usr/local/bin/browser 37
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true 38
BROWSER_NO_SANDBOX= 39
BROWSER_USER_AGENT=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 40
UV_TOOL_BIN_DIR=/usr/local/bin/ 41
UV_TOOL_DIR=/usr/local/share/uv/tools 42
DISABLE_JUPYTER=false 43
DISABLE_CODE_SERVER=false 44
OPENCLAW_OPEN_BROWSER=true 45
OPENCLAW_DEFAULT_MODEL=deepseek/deepseek-v4-flash 46
🏷️ 镜像标签 3
KeyValue
ubuntu org.opencontainers.image.ref.name
22.04 org.opencontainers.image.version
1.0.0.152 version

Docker拉取命令

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/cube-sandbox-image.tencentcloudcr.com/demo/aio-sandbox-envd-openclaw:latest
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/cube-sandbox-image.tencentcloudcr.com/demo/aio-sandbox-envd-openclaw:latest  docker.io/cube-sandbox-image.tencentcloudcr.com/demo/aio-sandbox-envd-openclaw:latest

Containerd拉取命令

ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/cube-sandbox-image.tencentcloudcr.com/demo/aio-sandbox-envd-openclaw:latest
ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/cube-sandbox-image.tencentcloudcr.com/demo/aio-sandbox-envd-openclaw:latest  docker.io/cube-sandbox-image.tencentcloudcr.com/demo/aio-sandbox-envd-openclaw:latest

Shell快速替换命令

sed -i 's#cube-sandbox-image.tencentcloudcr.com/demo/aio-sandbox-envd-openclaw:latest#swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/cube-sandbox-image.tencentcloudcr.com/demo/aio-sandbox-envd-openclaw:latest#' deployment.yaml

Ansible快速分发-Docker

#ansible k8s -m shell -a 'docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/cube-sandbox-image.tencentcloudcr.com/demo/aio-sandbox-envd-openclaw:latest && docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/cube-sandbox-image.tencentcloudcr.com/demo/aio-sandbox-envd-openclaw:latest  docker.io/cube-sandbox-image.tencentcloudcr.com/demo/aio-sandbox-envd-openclaw:latest'

Ansible快速分发-Containerd

#ansible k8s -m shell -a 'ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/cube-sandbox-image.tencentcloudcr.com/demo/aio-sandbox-envd-openclaw:latest && ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/cube-sandbox-image.tencentcloudcr.com/demo/aio-sandbox-envd-openclaw:latest  docker.io/cube-sandbox-image.tencentcloudcr.com/demo/aio-sandbox-envd-openclaw:latest'

镜像构建历史


# 2026-05-24 13:19:54  0.00B 设置工作目录为/
WORKDIR /
                        
# 2026-05-24 13:19:54  0.00B 声明容器运行时监听的端口
EXPOSE map[18789/tcp:{}]
                        
# 2026-05-24 13:19:54  422.00B 执行命令并创建新的镜像层
RUN |3 OPENCLAW_VERSION=latest INSTALL_WECOM_PLUGIN=true WECOM_PLUGIN_CLI_VERSION=latest /bin/sh -c set -eux;     cat > /opt/gem/supervisord/openclaw.conf <<'EOF'
[program:openclaw]
command=/usr/local/bin/start-openclaw.sh
autostart=true
autorestart=true
startsecs=5
startretries=3
exitcodes=0
priority=900
user=root
stdout_logfile=%(ENV_LOG_DIR)s/openclaw.log
stdout_logfile_maxbytes=10MB
stdout_logfile_backups=5
stderr_logfile=%(ENV_LOG_DIR)s/openclaw-error.log
stderr_logfile_maxbytes=10MB
stderr_logfile_backups=5
stopsignal=TERM
stopwaitsecs=10
environment=NODE_ENV="production"
EOF # buildkit
                        
# 2026-05-24 13:19:53  3.95KB 执行命令并创建新的镜像层
RUN |3 OPENCLAW_VERSION=latest INSTALL_WECOM_PLUGIN=true WECOM_PLUGIN_CLI_VERSION=latest /bin/sh -c chmod +x /usr/local/bin/configure-openclaw-deepseek.sh # buildkit
                        
# 2026-05-24 13:19:53  3.95KB 执行命令并创建新的镜像层
RUN |3 OPENCLAW_VERSION=latest INSTALL_WECOM_PLUGIN=true WECOM_PLUGIN_CLI_VERSION=latest /bin/sh -c set -eux;     cat > /usr/local/bin/configure-openclaw-deepseek.sh <<'EOF'
#!/bin/sh
# Configure DeepSeek credentials after the sandbox has started.
# Intended to be invoked through envd commands.run with:
#   OPENCLAW_DEEPSEEK_API_KEY=sk-... /usr/local/bin/configure-openclaw-deepseek.sh
#
# Optional:
#   OPENCLAW_DEFAULT_MODEL=deepseek/deepseek-v4-flash
#   OPENCLAW_GATEWAY_TOKEN=<token to preserve/reset>
set -eu

if [ -z "${OPENCLAW_DEEPSEEK_API_KEY:-}" ]; then
        echo "OPENCLAW_DEEPSEEK_API_KEY is required" >&2
        exit 2
fi

MODEL="${OPENCLAW_DEFAULT_MODEL:-deepseek/deepseek-v4-flash}"
TOKEN_FILE="${OPENCLAW_TOKEN_FILE:-/var/log/openclaw.token}"

if [ -z "${OPENCLAW_GATEWAY_TOKEN:-}" ] && [ -f "$TOKEN_FILE" ]; then
        OPENCLAW_GATEWAY_TOKEN="$(cat "$TOKEN_FILE")"
        export OPENCLAW_GATEWAY_TOKEN
fi

echo "[configure-openclaw-deepseek] configuring DeepSeek API key and default model"

# Re-assert sandbox-safe defaults and keep the browser token identical to
# /var/log/openclaw.token.
OPENCLAW_GATEWAY_TOKEN="${OPENCLAW_GATEWAY_TOKEN:-}"
OPENCLAW_PORT="${OPENCLAW_PORT:-18789}"
OPENCLAW_BIND="${OPENCLAW_BIND:-auto}"
OPENCLAW_ALLOWED_ORIGINS="${OPENCLAW_ALLOWED_ORIGINS:-*}"
OPENCLAW_DISABLE_DEVICE_AUTH="${OPENCLAW_DISABLE_DEVICE_AUTH:-true}"
OPENCLAW_ALLOW_INSECURE_AUTH="${OPENCLAW_ALLOW_INSECURE_AUTH:-true}"
OPENCLAW_ALLOW_HOST_HEADER_ORIGIN_FALLBACK="${OPENCLAW_ALLOW_HOST_HEADER_ORIGIN_FALLBACK:-true}"

PATCH=$(OPENCLAW_PORT="$OPENCLAW_PORT" \
        OPENCLAW_BIND="$OPENCLAW_BIND" \
        OPENCLAW_GATEWAY_TOKEN="$OPENCLAW_GATEWAY_TOKEN" \
        OPENCLAW_ALLOWED_ORIGINS="$OPENCLAW_ALLOWED_ORIGINS" \
        OPENCLAW_DISABLE_DEVICE_AUTH="$OPENCLAW_DISABLE_DEVICE_AUTH" \
        OPENCLAW_ALLOW_INSECURE_AUTH="$OPENCLAW_ALLOW_INSECURE_AUTH" \
        OPENCLAW_ALLOW_HOST_HEADER_ORIGIN_FALLBACK="$OPENCLAW_ALLOW_HOST_HEADER_ORIGIN_FALLBACK" \
        OPENCLAW_DEEPSEEK_API_KEY="$OPENCLAW_DEEPSEEK_API_KEY" \
        OPENCLAW_DEFAULT_MODEL="$MODEL" \
        python3 -c '
import json, os
origins = os.environ.get("OPENCLAW_ALLOWED_ORIGINS", "*")
ui = {
    "allowedOrigins": [o.strip() for o in origins.split(",") if o.strip()],
    "dangerouslyDisableDeviceAuth": os.environ.get("OPENCLAW_DISABLE_DEVICE_AUTH", "").lower() == "true",
    "allowInsecureAuth": os.environ.get("OPENCLAW_ALLOW_INSECURE_AUTH", "").lower() == "true",
    "dangerouslyAllowHostHeaderOriginFallback": os.environ.get("OPENCLAW_ALLOW_HOST_HEADER_ORIGIN_FALLBACK", "").lower() == "true",
}
auth = {"mode": "token"}
if os.environ.get("OPENCLAW_GATEWAY_TOKEN"):
    auth["token"] = os.environ["OPENCLAW_GATEWAY_TOKEN"]
model = os.environ.get("OPENCLAW_DEFAULT_MODEL", "deepseek/deepseek-v4-flash")
print(json.dumps({
    "env": {
        "DEEPSEEK_API_KEY": os.environ["OPENCLAW_DEEPSEEK_API_KEY"],
    },
    "gateway": {
        "bind": os.environ.get("OPENCLAW_BIND", "auto"),
        "port": int(os.environ.get("OPENCLAW_PORT", "18789")),
        "auth": auth,
        "controlUi": ui,
    },
    "agents": {
        "defaults": {
            "model": {"primary": model},
            "models": {model: {}},
        }
    },
}))
')

printf '%s' "$PATCH" | openclaw config patch --stdin >/tmp/openclaw-deepseek-config-patch.log 2>&1 || \
        echo "[configure-openclaw-deepseek] WARN: config patch failed, see /tmp/openclaw-deepseek-config-patch.log" >&2

if [ -n "$OPENCLAW_GATEWAY_TOKEN" ]; then
        mkdir -p "$(dirname "$TOKEN_FILE")"
        umask 077
        printf '%s\n' "$OPENCLAW_GATEWAY_TOKEN" > "$TOKEN_FILE"
fi

if command -v supervisorctl >/dev/null 2>&1 && [ -S /var/run/supervisor.sock ]; then
        if [ "${OPENCLAW_SKIP_GATEWAY_RESTART:-false}" = "true" ]; then
                echo "[configure-openclaw-deepseek] gateway restart skipped"
        else
                echo "[configure-openclaw-deepseek] restarting openclaw gateway"
                supervisorctl -c /opt/gem/supervisord.conf restart openclaw || true
        fi
fi

echo "[configure-openclaw-deepseek] done"
EOF # buildkit
                        
# 2026-05-24 13:19:53  5.99KB 执行命令并创建新的镜像层
RUN |3 OPENCLAW_VERSION=latest INSTALL_WECOM_PLUGIN=true WECOM_PLUGIN_CLI_VERSION=latest /bin/sh -c chmod +x /usr/local/bin/start-openclaw.sh # buildkit
                        
# 2026-05-24 13:19:53  5.99KB 执行命令并创建新的镜像层
RUN |3 OPENCLAW_VERSION=latest INSTALL_WECOM_PLUGIN=true WECOM_PLUGIN_CLI_VERSION=latest /bin/sh -c set -eux;     cat > /usr/local/bin/start-openclaw.sh <<'EOF'
#!/bin/sh
# Start the OpenClaw WebSocket Gateway in foreground.
# Used both as a manual launcher and as the supervisord program command.
#
# Lifecycle:
#   DISABLE_OPENCLAW=true       idle, no port bound; supervisord reports RUNNING
#
# Listener:
#   OPENCLAW_PORT               gateway port (default 18789)
#   OPENCLAW_BIND               bind mode (default auto; binds 0.0.0.0 in containers)
#
# Auth:
#   OPENCLAW_AUTH_MODE          token (default) | password | trusted-proxy
#   OPENCLAW_GATEWAY_TOKEN      gateway token; auto-generated if unset
#   OPENCLAW_GATEWAY_PASSWORD   password auth alternative
#   OPENCLAW_TOKEN_FILE         token file (default /var/log/openclaw.token)
#
# Browser access:
#   OPENCLAW_OPEN_BROWSER=true  allowedOrigins=* and relaxed browser checks
#   OPENCLAW_ALLOWED_ORIGINS    comma-separated allowed origins
#   OPENCLAW_ALLOW_HOST_HEADER_ORIGIN_FALLBACK=true
#                               allow Host-header based origin fallback
#
# Model defaults:
#   OPENCLAW_DEFAULT_MODEL      default model id (default deepseek/deepseek-v4-flash)
#   OPENCLAW_DEEPSEEK_API_KEY  when set, configure DeepSeek auth at container startup
#
# Misc:
#   OPENCLAW_EXTRA_ARGS         extra args appended to openclaw gateway
set -eu

if [ "${DISABLE_OPENCLAW:-false}" = "true" ]; then
        echo "[start-openclaw] DISABLE_OPENCLAW=true; idling (supervisord will report RUNNING, no port bound)."
        exec sleep infinity
fi

OPENCLAW_PORT="${OPENCLAW_PORT:-18789}"
OPENCLAW_BIND="${OPENCLAW_BIND:-auto}"
OPENCLAW_AUTH_MODE="${OPENCLAW_AUTH_MODE:-token}"
OPENCLAW_DEFAULT_MODEL="${OPENCLAW_DEFAULT_MODEL:-deepseek/deepseek-v4-flash}"

if [ "${OPENCLAW_OPEN_BROWSER:-false}" = "true" ]; then
        echo "[start-openclaw] OPEN_BROWSER=true: cross-origin access enabled (any origin)."
        echo "[start-openclaw] note: token auth is still enforced."
        OPENCLAW_ALLOWED_ORIGINS="${OPENCLAW_ALLOWED_ORIGINS:-*}"
        OPENCLAW_DISABLE_DEVICE_AUTH="${OPENCLAW_DISABLE_DEVICE_AUTH:-true}"
        OPENCLAW_ALLOW_INSECURE_AUTH="${OPENCLAW_ALLOW_INSECURE_AUTH:-true}"
        OPENCLAW_ALLOW_HOST_HEADER_ORIGIN_FALLBACK="${OPENCLAW_ALLOW_HOST_HEADER_ORIGIN_FALLBACK:-true}"
fi

TOKEN_FILE="${OPENCLAW_TOKEN_FILE:-/var/log/openclaw.token}"
if [ "$OPENCLAW_AUTH_MODE" = "token" ] && [ -z "${OPENCLAW_GATEWAY_PASSWORD:-}" ]; then
        if [ -n "${OPENCLAW_GATEWAY_TOKEN:-}" ]; then
                echo "[start-openclaw] using OPENCLAW_GATEWAY_TOKEN from environment"
        elif [ -s "$TOKEN_FILE" ]; then
                OPENCLAW_GATEWAY_TOKEN="$(sed -n '1p' "$TOKEN_FILE" | tr -d '\r\n')"
                export OPENCLAW_GATEWAY_TOKEN
                echo "[start-openclaw] reused OPENCLAW_GATEWAY_TOKEN from $TOKEN_FILE"
        else
                OPENCLAW_GATEWAY_TOKEN="$(head -c 16 /dev/urandom | od -An -tx1 | tr -d ' \n')"
                export OPENCLAW_GATEWAY_TOKEN
                echo "[start-openclaw] generated OPENCLAW_GATEWAY_TOKEN=$OPENCLAW_GATEWAY_TOKEN"
        fi

        mkdir -p "$(dirname "$TOKEN_FILE")"
        umask 077
        printf '%s\n' "$OPENCLAW_GATEWAY_TOKEN" > "$TOKEN_FILE"
        echo "[start-openclaw] token persisted to $TOKEN_FILE"
fi

PATCH=$(OPENCLAW_PORT="$OPENCLAW_PORT" \
        OPENCLAW_BIND="$OPENCLAW_BIND" \
        OPENCLAW_AUTH_MODE="$OPENCLAW_AUTH_MODE" \
        OPENCLAW_GATEWAY_TOKEN="${OPENCLAW_GATEWAY_TOKEN:-}" \
        OPENCLAW_GATEWAY_PASSWORD="${OPENCLAW_GATEWAY_PASSWORD:-}" \
        OPENCLAW_DEFAULT_MODEL="$OPENCLAW_DEFAULT_MODEL" \
        OPENCLAW_ALLOWED_ORIGINS="${OPENCLAW_ALLOWED_ORIGINS:-}" \
        OPENCLAW_DISABLE_DEVICE_AUTH="${OPENCLAW_DISABLE_DEVICE_AUTH:-}" \
        OPENCLAW_ALLOW_INSECURE_AUTH="${OPENCLAW_ALLOW_INSECURE_AUTH:-}" \
        OPENCLAW_ALLOW_HOST_HEADER_ORIGIN_FALLBACK="${OPENCLAW_ALLOW_HOST_HEADER_ORIGIN_FALLBACK:-}" \
        python3 -c '
import json, os
ui = {}
origins = os.environ.get("OPENCLAW_ALLOWED_ORIGINS", "").strip()
if origins:
    ui["allowedOrigins"] = [o.strip() for o in origins.split(",") if o.strip()]
if os.environ.get("OPENCLAW_DISABLE_DEVICE_AUTH", "").lower() == "true":
    ui["dangerouslyDisableDeviceAuth"] = True
if os.environ.get("OPENCLAW_ALLOW_INSECURE_AUTH", "").lower() == "true":
    ui["allowInsecureAuth"] = True
if os.environ.get("OPENCLAW_ALLOW_HOST_HEADER_ORIGIN_FALLBACK", "").lower() == "true":
    ui["dangerouslyAllowHostHeaderOriginFallback"] = True
auth_mode = os.environ.get("OPENCLAW_AUTH_MODE", "token")
auth = {"mode": auth_mode}
if auth_mode == "token" and os.environ.get("OPENCLAW_GATEWAY_TOKEN"):
    auth["token"] = os.environ["OPENCLAW_GATEWAY_TOKEN"]
if auth_mode == "password" and os.environ.get("OPENCLAW_GATEWAY_PASSWORD"):
    auth["password"] = os.environ["OPENCLAW_GATEWAY_PASSWORD"]
default_model = os.environ.get("OPENCLAW_DEFAULT_MODEL", "deepseek/deepseek-v4-flash")
gateway = {
    "bind": os.environ.get("OPENCLAW_BIND", "auto"),
    "port": int(os.environ.get("OPENCLAW_PORT", "18789")),
    "auth": auth,
}
if ui:
    gateway["controlUi"] = ui
print(json.dumps({
    "gateway": gateway,
    "agents": {
        "defaults": {
            "model": {"primary": default_model},
            "models": {default_model: {}},
        }
    },
}))
')

if [ -n "$PATCH" ] && [ "$PATCH" != "{}" ]; then
        echo "[start-openclaw] applying config patch: $PATCH"
        printf '%s' "$PATCH" | openclaw config patch --stdin 2>&1 | head -3 || \
                echo "[start-openclaw] WARN: config patch failed (continuing with defaults)"
fi

if [ -n "${OPENCLAW_DEEPSEEK_API_KEY:-}" ]; then
        echo "[start-openclaw] OPENCLAW_DEEPSEEK_API_KEY is set; configuring DeepSeek before gateway start."
        OPENCLAW_SKIP_GATEWAY_RESTART=true \
                /usr/local/bin/configure-openclaw-deepseek.sh
fi

exec openclaw gateway \
        --port "$OPENCLAW_PORT" \
        --bind "$OPENCLAW_BIND" \
        --auth "$OPENCLAW_AUTH_MODE" \
        --allow-unconfigured \
        ${OPENCLAW_EXTRA_ARGS:-}
EOF # buildkit
                        
# 2026-05-24 13:19:52  54.10MB 执行命令并创建新的镜像层
RUN |3 OPENCLAW_VERSION=latest INSTALL_WECOM_PLUGIN=true WECOM_PLUGIN_CLI_VERSION=latest /bin/sh -c set -eux;     if [ "$INSTALL_WECOM_PLUGIN" = "true" ]; then         if [ "$WECOM_PLUGIN_CLI_VERSION" = "latest" ] || [ -z "$WECOM_PLUGIN_CLI_VERSION" ]; then             npx -y @wecom/wecom-openclaw-cli install --force --skip-config;         else             npx -y "@wecom/wecom-openclaw-cli@$WECOM_PLUGIN_CLI_VERSION" install --force --skip-config;         fi;         test -d /root/.openclaw/npm/node_modules/@wecom/wecom-openclaw-plugin;         openclaw plugins list || true;     fi # buildkit
                        
# 2026-05-24 13:19:20  651.40MB 执行命令并创建新的镜像层
RUN |3 OPENCLAW_VERSION=latest INSTALL_WECOM_PLUGIN=true WECOM_PLUGIN_CLI_VERSION=latest /bin/sh -c set -eux;     if [ "$OPENCLAW_VERSION" = "latest" ] || [ -z "$OPENCLAW_VERSION" ]; then         npm install -g openclaw;     else         npm install -g "openclaw@$OPENCLAW_VERSION";     fi;     openclaw --version || openclaw -v || echo "openclaw installed" # buildkit
                        
# 2026-05-24 13:19:04  0.00B 执行命令并创建新的镜像层
RUN |3 OPENCLAW_VERSION=latest INSTALL_WECOM_PLUGIN=true WECOM_PLUGIN_CLI_VERSION=latest /bin/sh -c node -v && npm -v # buildkit
                        
# 2026-05-24 13:19:04  0.00B 设置环境变量 DEBIAN_FRONTEND OPENCLAW_OPEN_BROWSER OPENCLAW_DEFAULT_MODEL
ENV DEBIAN_FRONTEND=noninteractive OPENCLAW_OPEN_BROWSER=true OPENCLAW_DEFAULT_MODEL=deepseek/deepseek-v4-flash
                        
# 2026-05-24 13:19:04  0.00B 定义构建参数
ARG WECOM_PLUGIN_CLI_VERSION=latest
                        
# 2026-05-24 13:19:04  0.00B 定义构建参数
ARG INSTALL_WECOM_PLUGIN=true
                        
# 2026-05-24 13:19:04  0.00B 定义构建参数
ARG OPENCLAW_VERSION=latest
                        
# 2026-04-19 11:03:25  0.00B 设置默认要执行的命令
CMD ["/usr/local/bin/aio-with-envd.sh"]
                        
# 2026-04-19 11:03:25  0.00B 配置容器启动时运行的命令
ENTRYPOINT []
                        
# 2026-04-19 11:03:25  0.00B 声明容器运行时监听的端口
EXPOSE map[49983/tcp:{} 8080/tcp:{}]
                        
# 2026-04-19 11:03:25  0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c chmod +x /usr/local/bin/aio-with-envd.sh # buildkit
                        
# 2026-04-19 11:03:25  312.00B 复制新文件或目录到容器中
COPY aio-with-envd.sh /usr/local/bin/aio-with-envd.sh # buildkit
                        
# 2026-04-19 11:03:25  0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c chmod +x /usr/bin/envd # buildkit
                        
# 2026-04-19 11:03:25  15.35MB 复制新文件或目录到容器中
COPY envd /usr/bin/envd # buildkit
                        
# 2025-11-12 17:26:19  0.00B 声明容器运行时监听的端口
EXPOSE map[8080/tcp:{}]
                        
# 2025-11-12 17:26:19  10.00B 执行命令并创建新的镜像层
RUN |14 APT_MIRROR_HOST= DISABLE_MCP_SERVER=true PIP_INDEX_URL=https://bytedpypi.byted.org/simple UV_DEFAULT_INDEX=https://bytedpypi.byted.org/simple TINYPROXY_COMMIT=3c0fde94981b025271ffa1788ae425257841bf5a GITHUB_PROXY= TARGETARCH=amd64 PYTHON_3_11_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_11_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz CODE_SERVER_ARCH_NAME= CODE_SERVER_VERSION=4.104.0 VERSION=1.0.0.152 /bin/sh -c echo "${VERSION}" > /etc/aio_version # buildkit
                        
# 2025-11-12 17:26:19  0.00B 添加元数据标签
LABEL version=1.0.0.152
                        
# 2025-11-12 17:26:19  0.00B 定义构建参数
ARG VERSION=1.0.0.152
                        
# 2025-11-12 17:26:19  830.00B 执行命令并创建新的镜像层
RUN |13 APT_MIRROR_HOST= DISABLE_MCP_SERVER=true PIP_INDEX_URL=https://bytedpypi.byted.org/simple UV_DEFAULT_INDEX=https://bytedpypi.byted.org/simple TINYPROXY_COMMIT=3c0fde94981b025271ffa1788ae425257841bf5a GITHUB_PROXY= TARGETARCH=amd64 PYTHON_3_11_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_11_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz CODE_SERVER_ARCH_NAME= CODE_SERVER_VERSION=4.104.0 /bin/sh -c sed -i '/types_hash_max_size/a\    client_max_body_size 200m;' /opt/gem/nginx.conf &&     sed -i         -e '/^http {/,/^}/ {'         -e '/^}/i\    include /opt/gem/nginx-server-port-proxy.conf;'         -e '}'     /opt/gem/nginx.conf; # buildkit
                        
# 2025-11-12 17:26:19  2.80KB 执行命令并创建新的镜像层
RUN |13 APT_MIRROR_HOST= DISABLE_MCP_SERVER=true PIP_INDEX_URL=https://bytedpypi.byted.org/simple UV_DEFAULT_INDEX=https://bytedpypi.byted.org/simple TINYPROXY_COMMIT=3c0fde94981b025271ffa1788ae425257841bf5a GITHUB_PROXY= TARGETARCH=amd64 PYTHON_3_11_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_11_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz CODE_SERVER_ARCH_NAME= CODE_SERVER_VERSION=4.104.0 /bin/sh -c set -eux;     chmod +x /opt/gem/mcp-hub-wait.sh /opt/gem/code-server.sh /opt/gem/jupyter-lab.sh /opt/gem/tinyproxy.sh /opt/gem/wait-for-python-server.sh /opt/gem/bashrc;     mkdir -p /opt/application &&     ln -s /opt/gem/run.sh /opt/application/run.sh; # buildkit
                        
# 2025-11-12 17:26:19  1.30KB 复制新文件或目录到容器中
COPY ./configs/nginx-server-port-proxy.conf.template /opt/gem/nginx-server-port-proxy.conf.template # buildkit
                        
# 2025-11-12 17:26:19  5.04KB 复制新文件或目录到容器中
COPY ./configs/nginx/*.conf /opt/gem/nginx/ # buildkit
                        
# 2025-11-12 17:26:19  2.53KB 复制新文件或目录到容器中
COPY ./configs/supervisord/*.conf /opt/gem/supervisord/ # buildkit
                        
# 2025-11-12 17:26:19  0.00B 执行命令并创建新的镜像层
RUN |13 APT_MIRROR_HOST= DISABLE_MCP_SERVER=true PIP_INDEX_URL=https://bytedpypi.byted.org/simple UV_DEFAULT_INDEX=https://bytedpypi.byted.org/simple TINYPROXY_COMMIT=3c0fde94981b025271ffa1788ae425257841bf5a GITHUB_PROXY= TARGETARCH=amd64 PYTHON_3_11_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_11_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz CODE_SERVER_ARCH_NAME= CODE_SERVER_VERSION=4.104.0 /bin/sh -c chmod +x /usr/local/bin/linux_amd64_ve # buildkit
                        
# 2025-11-12 17:26:19  8.81MB 复制新文件或目录到容器中
COPY ./tool/cloud-providers/volcengine/linux_amd64_ve /usr/local/bin/linux_amd64_ve # buildkit
                        
# 2025-11-12 17:26:19  0.00B 执行命令并创建新的镜像层
RUN |13 APT_MIRROR_HOST= DISABLE_MCP_SERVER=true PIP_INDEX_URL=https://bytedpypi.byted.org/simple UV_DEFAULT_INDEX=https://bytedpypi.byted.org/simple TINYPROXY_COMMIT=3c0fde94981b025271ffa1788ae425257841bf5a GITHUB_PROXY= TARGETARCH=amd64 PYTHON_3_11_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_11_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz CODE_SERVER_ARCH_NAME= CODE_SERVER_VERSION=4.104.0 /bin/sh -c chmod +x /usr/local/bin/ve # buildkit
                        
# 2025-11-12 17:26:19  3.23KB 复制新文件或目录到容器中
COPY ./tool/cloud-providers/volcengine/ve /usr/local/bin/ve # buildkit
                        
# 2025-11-12 17:26:19  56.00B 复制新文件或目录到容器中
COPY ./configs/jupyter /opt/gem/jupyter # buildkit
                        
# 2025-11-12 17:26:19  145.00B 复制新文件或目录到容器中
COPY ./configs/vscode /opt/gem/vscode # buildkit
                        
# 2025-11-12 17:26:18  118.00B 复制新文件或目录到容器中
COPY ./configs/matplotlibrc /opt/gem/matplotlibrc # buildkit
                        
# 2025-11-12 17:26:18  27.00B 复制新文件或目录到容器中
COPY ./configs/bashrc /opt/gem/bashrc # buildkit
                        
# 2025-11-12 17:26:18  41.31KB 复制新文件或目录到容器中
COPY ./configs/index.html.template /opt/aio/index.html.template # buildkit
                        
# 2025-11-12 17:26:18  12.76KB 复制新文件或目录到容器中
COPY ./python-server/terminal.html /opt/terminal/index.html # buildkit
                        
# 2025-11-12 17:26:18  1.13KB 复制新文件或目录到容器中
COPY ./configs/wait-for-python-server.sh /opt/gem/wait-for-python-server.sh # buildkit
                        
# 2025-11-12 17:26:18  151.00B 复制新文件或目录到容器中
COPY ./configs/tinyproxy.sh /opt/gem/tinyproxy.sh # buildkit
                        
# 2025-11-12 17:26:18  531.00B 复制新文件或目录到容器中
COPY ./configs/jupyter-lab.sh /opt/gem/jupyter-lab.sh # buildkit
                        
# 2025-11-12 17:26:18  458.00B 复制新文件或目录到容器中
COPY ./configs/code-server.sh /opt/gem/code-server.sh # buildkit
                        
# 2025-11-12 17:26:18  1.65KB 复制新文件或目录到容器中
COPY ./configs/mcp-hub-wait.sh /opt/gem/mcp-hub-wait.sh # buildkit
                        
# 2025-11-12 17:26:18  554.00B 复制新文件或目录到容器中
COPY ./configs/mcp-hub.json.template /opt/gem/mcp-hub.json.template # buildkit
                        
# 2025-11-12 17:26:18  8.16KB 复制新文件或目录到容器中
COPY ./run.sh /opt/gem/run.sh # buildkit
                        
# 2025-11-12 17:26:18  440.00B 复制新文件或目录到容器中
COPY ./configs/tinyproxy /opt/gem/tinyproxy # buildkit
                        
# 2025-11-12 17:26:18  0.00B 执行命令并创建新的镜像层
RUN |13 APT_MIRROR_HOST= DISABLE_MCP_SERVER=true PIP_INDEX_URL=https://bytedpypi.byted.org/simple UV_DEFAULT_INDEX=https://bytedpypi.byted.org/simple TINYPROXY_COMMIT=3c0fde94981b025271ffa1788ae425257841bf5a GITHUB_PROXY= TARGETARCH=amd64 PYTHON_3_11_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_11_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz CODE_SERVER_ARCH_NAME= CODE_SERVER_VERSION=4.104.0 /bin/sh -c rm -rf /opt/gem/run.sh /opt/gem/browser-ctl.sh &&     touch /opt/gem/mcp.disabled &&     mkdir -p /opt/terminal /opt/aio; # buildkit
                        
# 2025-11-12 17:26:18  0.00B 执行命令并创建新的镜像层
RUN |13 APT_MIRROR_HOST= DISABLE_MCP_SERVER=true PIP_INDEX_URL=https://bytedpypi.byted.org/simple UV_DEFAULT_INDEX=https://bytedpypi.byted.org/simple TINYPROXY_COMMIT=3c0fde94981b025271ffa1788ae425257841bf5a GITHUB_PROXY= TARGETARCH=amd64 PYTHON_3_11_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_11_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz CODE_SERVER_ARCH_NAME= CODE_SERVER_VERSION=4.104.0 /bin/sh -c apt-get clean &&     rm -rf /var/lib/apt/lists/* # buildkit
                        
# 2025-11-12 17:26:18  759.25MB 执行命令并创建新的镜像层
RUN |13 APT_MIRROR_HOST= DISABLE_MCP_SERVER=true PIP_INDEX_URL=https://bytedpypi.byted.org/simple UV_DEFAULT_INDEX=https://bytedpypi.byted.org/simple TINYPROXY_COMMIT=3c0fde94981b025271ffa1788ae425257841bf5a GITHUB_PROXY= TARGETARCH=amd64 PYTHON_3_11_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_11_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz CODE_SERVER_ARCH_NAME= CODE_SERVER_VERSION=4.104.0 /bin/sh -c set -eux;     pip3.12 install --no-cache-dir /tmp/wheels/*.whl -r /tmp/requirements.txt &&     rm -rf /tmp/wheels /tmp/requirements.txt &&     ln -sf /opt/python3.12/bin/python-server /usr/local/bin/python-server; # buildkit
                        
# 2025-11-12 17:25:23  9.27KB 复制新文件或目录到容器中
COPY /app/requirements.txt /tmp/requirements.txt # buildkit
                        
# 2025-11-12 17:25:23  140.42KB 复制新文件或目录到容器中
COPY /wheels/*.whl /tmp/wheels/ # buildkit
                        
# 2025-11-12 17:25:22  189.46MB 执行命令并创建新的镜像层
RUN |13 APT_MIRROR_HOST= DISABLE_MCP_SERVER=true PIP_INDEX_URL=https://bytedpypi.byted.org/simple UV_DEFAULT_INDEX=https://bytedpypi.byted.org/simple TINYPROXY_COMMIT=3c0fde94981b025271ffa1788ae425257841bf5a GITHUB_PROXY= TARGETARCH=amd64 PYTHON_3_11_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_11_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz CODE_SERVER_ARCH_NAME= CODE_SERVER_VERSION=4.104.0 /bin/sh -c npm install -g     @agent-infra/mcp-hub@1.1.0     @agent-infra/mcp-server-browser@1.2.21     chrome-devtools-mcp@0.9.0; # buildkit
                        
# 2025-11-12 17:24:55  156.57MB 复制新文件或目录到容器中
COPY /root/sandbox/runtime/node/node_modules /opt/runtime/nodejs/node_modules # buildkit
                        
# 2025-11-12 17:24:49  0.00B 执行命令并创建新的镜像层
RUN |13 APT_MIRROR_HOST= DISABLE_MCP_SERVER=true PIP_INDEX_URL=https://bytedpypi.byted.org/simple UV_DEFAULT_INDEX=https://bytedpypi.byted.org/simple TINYPROXY_COMMIT=3c0fde94981b025271ffa1788ae425257841bf5a GITHUB_PROXY= TARGETARCH=amd64 PYTHON_3_11_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_11_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz CODE_SERVER_ARCH_NAME= CODE_SERVER_VERSION=4.104.0 /bin/sh -c mkdir -p /opt/runtime/nodejs # buildkit
                        
# 2025-11-12 17:24:48  120.17MB 执行命令并创建新的镜像层
RUN |13 APT_MIRROR_HOST= DISABLE_MCP_SERVER=true PIP_INDEX_URL=https://bytedpypi.byted.org/simple UV_DEFAULT_INDEX=https://bytedpypi.byted.org/simple TINYPROXY_COMMIT=3c0fde94981b025271ffa1788ae425257841bf5a GITHUB_PROXY= TARGETARCH=amd64 PYTHON_3_11_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_11_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz CODE_SERVER_ARCH_NAME= CODE_SERVER_VERSION=4.104.0 /bin/sh -c /usr/bin/python3.10 -m pip install ipykernel     && /usr/bin/python3.10 -m ipykernel install --name python3.10 --display-name "Python 3.10"     && /opt/python3.11/bin/python -m pip install ipykernel     && /opt/python3.11/bin/python -m ipykernel install --name python3.11 --display-name "Python 3.11" # buildkit
                        
# 2025-11-12 17:24:33  212.33MB 执行命令并创建新的镜像层
RUN |13 APT_MIRROR_HOST= DISABLE_MCP_SERVER=true PIP_INDEX_URL=https://bytedpypi.byted.org/simple UV_DEFAULT_INDEX=https://bytedpypi.byted.org/simple TINYPROXY_COMMIT=3c0fde94981b025271ffa1788ae425257841bf5a GITHUB_PROXY= TARGETARCH=amd64 PYTHON_3_11_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_11_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz CODE_SERVER_ARCH_NAME= CODE_SERVER_VERSION=4.104.0 /bin/sh -c /opt/python3.12/bin/pip install jupyterlab==4.4.5 &&     mkdir -p /opt/jupyter/runtime /opt/jupyter/data &&     chmod -R 755 /opt/jupyter; # buildkit
                        
# 2025-11-12 17:24:15  453.78MB 执行命令并创建新的镜像层
RUN |13 APT_MIRROR_HOST= DISABLE_MCP_SERVER=true PIP_INDEX_URL=https://bytedpypi.byted.org/simple UV_DEFAULT_INDEX=https://bytedpypi.byted.org/simple TINYPROXY_COMMIT=3c0fde94981b025271ffa1788ae425257841bf5a GITHUB_PROXY= TARGETARCH=amd64 PYTHON_3_11_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_11_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz CODE_SERVER_ARCH_NAME= CODE_SERVER_VERSION=4.104.0 /bin/sh -c if [ "$TARGETARCH" = "arm64" ]; then         CODE_SERVER_ARCH_NAME="arm64";     else         CODE_SERVER_ARCH_NAME="amd64";     fi;     curl -fL ${GITHUB_PROXY}https://github.com/coder/code-server/releases/download/v${CODE_SERVER_VERSION}/code-server-${CODE_SERVER_VERSION}-linux-${CODE_SERVER_ARCH_NAME}.tar.gz         | tar -C /usr/local -xz &&     mv /usr/local/code-server-${CODE_SERVER_VERSION}-linux-${CODE_SERVER_ARCH_NAME} /usr/local/code-server-${CODE_SERVER_VERSION} &&     ln -s /usr/local/code-server-${CODE_SERVER_VERSION}/bin/code-server /usr/bin/code-server &&     cd /usr/local/code-server-${CODE_SERVER_VERSION}/lib/vscode/out/vs/code/browser/workbench &&     patch -p0 < /tmp/code-server-4.104.0-workbench.js.patch &&     rm -rf /tmp/code-server-4.104.0-workbench.js.patch &&     /usr/bin/code-server --version; # buildkit
                        
# 2025-11-12 17:24:04  448.19KB 复制新文件或目录到容器中
COPY ./patches/code-server-4.104.0/workbench.js.patch /tmp/code-server-4.104.0-workbench.js.patch # buildkit
                        
# 2025-11-12 17:24:04  0.00B 定义构建参数
ARG CODE_SERVER_VERSION=4.104.0
                        
# 2025-11-12 17:24:04  0.00B 定义构建参数
ARG CODE_SERVER_ARCH_NAME
                        
# 2025-11-12 17:24:04  189.24MB 执行命令并创建新的镜像层
RUN |11 APT_MIRROR_HOST= DISABLE_MCP_SERVER=true PIP_INDEX_URL=https://bytedpypi.byted.org/simple UV_DEFAULT_INDEX=https://bytedpypi.byted.org/simple TINYPROXY_COMMIT=3c0fde94981b025271ffa1788ae425257841bf5a GITHUB_PROXY= TARGETARCH=amd64 PYTHON_3_11_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_11_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz PYTHON_3_12_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz /bin/sh -c if [ "$TARGETARCH" = "arm64" ]; then         PYTHON_3_11_URL=$PYTHON_3_11_URL_ARM64;         PYTHON_3_12_URL=$PYTHON_3_12_URL_ARM64;     else         PYTHON_3_11_URL=$PYTHON_3_11_URL_AMD64;         PYTHON_3_12_URL=$PYTHON_3_12_URL_AMD64;     fi;     wget -O /tmp/python311.tar.gz $PYTHON_3_11_URL &     wget -O /tmp/python312.tar.gz $PYTHON_3_12_URL &     wait;     mkdir -p /opt/python3.11 /opt/python3.12;     tar -xzf /tmp/python311.tar.gz -C /opt/python3.11 --strip-components=1 &     tar -xzf /tmp/python312.tar.gz -C /opt/python3.12 --strip-components=1 &     wait;     rm /tmp/python311.tar.gz /tmp/python312.tar.gz;     ln -s /opt/python3.11/bin/python /usr/local/bin/python3.11 &&     ln -s /opt/python3.11/bin/pip /usr/local/bin/pip3.11 &&     ln -s /opt/python3.12/bin/python /usr/local/bin/python3.12 &&     ln -s /opt/python3.12/bin/pip /usr/local/bin/pip3.12 &&     ln -s /usr/bin/python3 /usr/bin/python; # buildkit
                        
# 2025-11-12 17:23:57  0.00B 定义构建参数
ARG PYTHON_3_12_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz
                        
# 2025-11-12 17:23:57  0.00B 定义构建参数
ARG PYTHON_3_12_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.12.11+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz
                        
# 2025-11-12 17:23:57  0.00B 定义构建参数
ARG PYTHON_3_11_URL_ARM64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz
                        
# 2025-11-12 17:23:57  0.00B 定义构建参数
ARG PYTHON_3_11_URL_AMD64=https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.11.13+20250723-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz
                        
# 2025-11-12 17:23:57  0.00B 定义构建参数
ARG TARGETARCH=amd64
                        
# 2025-11-12 17:23:57  0.00B 定义构建参数
ARG GITHUB_PROXY=
                        
# 2025-11-12 17:23:57  984.18MB 执行命令并创建新的镜像层
RUN |5 APT_MIRROR_HOST= DISABLE_MCP_SERVER=true PIP_INDEX_URL=https://bytedpypi.byted.org/simple UV_DEFAULT_INDEX=https://bytedpypi.byted.org/simple TINYPROXY_COMMIT=3c0fde94981b025271ffa1788ae425257841bf5a /bin/sh -c pip install --no-cache-dir --prefer-binary matplotlib     pandas     numpy     fastapi     scipy     xlsxwriter     requests     seaborn     httpx     plotly==5.24.0     pillow     kaleido     PyMuPDF     docx2txt     lxml     bs4     openpyxl     uvicorn     python-pptx     beautifulsoup4     pytesseract     xlrd     biopython     networkx     yfinance     pydub     opencv-python     tabulate     PyPDF2     geopy     pyecharts     manim     qrcode     weasyprint; # buildkit
                        
# 2025-11-12 17:22:55  44.76MB 复制新文件或目录到容器中
COPY /uv /uvx /usr/local/bin/ # buildkit
                        
# 2025-11-12 17:22:54  3.08MB 执行命令并创建新的镜像层
RUN |5 APT_MIRROR_HOST= DISABLE_MCP_SERVER=true PIP_INDEX_URL=https://bytedpypi.byted.org/simple UV_DEFAULT_INDEX=https://bytedpypi.byted.org/simple TINYPROXY_COMMIT=3c0fde94981b025271ffa1788ae425257841bf5a /bin/sh -c chmod a+rx /usr/local/bin/yt-dlp # buildkit
                        
# 2025-11-12 17:22:54  3.08MB 复制新文件或目录到容器中
COPY ./configs/yt-dlp /usr/local/bin/yt-dlp # buildkit
                        
# 2025-11-12 17:22:54  2.88MB 执行命令并创建新的镜像层
RUN |5 APT_MIRROR_HOST= DISABLE_MCP_SERVER=true PIP_INDEX_URL=https://bytedpypi.byted.org/simple UV_DEFAULT_INDEX=https://bytedpypi.byted.org/simple TINYPROXY_COMMIT=3c0fde94981b025271ffa1788ae425257841bf5a /bin/sh -c apt-get update &&     apt-get install -y --no-install-recommends         autoconf         automake         libtool &&     cd /tmp &&     wget https://github.com/tinyproxy/tinyproxy/archive/${TINYPROXY_COMMIT}.zip -O tinyproxy.zip &&     unzip tinyproxy.zip &&     cd tinyproxy-${TINYPROXY_COMMIT} &&     ./autogen.sh &&     ./configure --sysconfdir=/etc --disable-manpage-support &&     make &&     make install &&     rm -rf /tmp/tinyproxy* &&     apt-get purge -y         autoconf         automake         libtool &&     apt-get autoremove -y; # buildkit
                        
# 2025-11-12 17:22:32  0.00B 定义构建参数
ARG TINYPROXY_COMMIT=3c0fde94981b025271ffa1788ae425257841bf5a
                        
# 2025-11-12 17:22:32  7.00MB 执行命令并创建新的镜像层
RUN |4 APT_MIRROR_HOST= DISABLE_MCP_SERVER=true PIP_INDEX_URL=https://bytedpypi.byted.org/simple UV_DEFAULT_INDEX=https://bytedpypi.byted.org/simple /bin/sh -c update-ca-certificates &&     locale-gen en_US.UTF-8 && locale-gen zh_CN.UTF-8 &&     fc-cache -fv &&     ulimit -n 4096 # buildkit
                        
# 2025-11-12 17:22:25  1.02GB 执行命令并创建新的镜像层
RUN |4 APT_MIRROR_HOST= DISABLE_MCP_SERVER=true PIP_INDEX_URL=https://bytedpypi.byted.org/simple UV_DEFAULT_INDEX=https://bytedpypi.byted.org/simple /bin/sh -c set -eux;     if [ -n "${APT_MIRROR_HOST}" ]; then         cp /etc/apt/sources.list /etc/apt/sources.list.orig;         sed -i -E -e "s;//([^/]*\.)?(ubuntu\.com|debian\.org);//${APT_MIRROR_HOST};g" /etc/apt/sources.list;     fi;     apt-get update;     apt-get install -y --no-install-recommends         software-properties-common         openssh-client         fontconfig         fonts-noto-cjk         fonts-noto-cjk-extra         fonts-dejavu         locales         wget         vim         nano         git         unzip         zip         tar         gzip         tree         htop         iputils-ping         telnet         net-tools         lsof         netcat-openbsd         nmap         file         less         rsync         lsyncd         procps         psmisc         coreutils         util-linux         sudo         grep         sed         gawk         jq         ripgrep         ffmpeg         imagemagick         tmux         gh         gcc         build-essential         cmake         libcairo2-dev         libffi-dev         libpango1.0-dev         freeglut3-dev         pkg-config         make         ca-certificates # buildkit
                        
# 2025-11-12 17:22:25  0.00B 设置环境变量 DISABLE_JUPYTER DISABLE_CODE_SERVER
ENV DISABLE_JUPYTER=false DISABLE_CODE_SERVER=false
                        
# 2025-11-12 17:22:25  0.00B 设置环境变量 UV_TOOL_DIR
ENV UV_TOOL_DIR=/usr/local/share/uv/tools
                        
# 2025-11-12 17:22:25  0.00B 设置环境变量 UV_TOOL_BIN_DIR
ENV UV_TOOL_BIN_DIR=/usr/local/bin/
                        
# 2025-11-12 17:22:25  0.00B 设置环境变量 DNS_OVER_HTTPS_TEMPLATES
ENV DNS_OVER_HTTPS_TEMPLATES=
                        
# 2025-11-12 17:22:25  0.00B 设置环境变量 DISPLAY_HEIGHT
ENV DISPLAY_HEIGHT=1024
                        
# 2025-11-12 17:22:25  0.00B 设置环境变量 DISPLAY_WIDTH
ENV DISPLAY_WIDTH=1280
                        
# 2025-11-12 17:22:25  0.00B 设置环境变量 BROWSER_USER_AGENT
ENV BROWSER_USER_AGENT=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36
                        
# 2025-11-12 17:22:25  0.00B 设置环境变量 BROWSER_NO_SANDBOX
ENV BROWSER_NO_SANDBOX=
                        
# 2025-11-12 17:22:25  0.00B 设置环境变量 DEBIAN_FRONTEND LANG TZ LANGUAGE LC_ALL PUPPETEER_EXECUTABLE_PATH PUPPETEER_SKIP_CHROMIUM_DOWNLOAD
ENV DEBIAN_FRONTEND=noninteractive LANG=en_US.UTF-8 TZ=Asia/Singapore LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 PUPPETEER_EXECUTABLE_PATH=/usr/local/bin/browser PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
                        
# 2025-11-12 17:22:25  0.00B 定义构建参数
ARG UV_DEFAULT_INDEX=https://bytedpypi.byted.org/simple
                        
# 2025-11-12 17:22:25  0.00B 定义构建参数
ARG PIP_INDEX_URL=https://bytedpypi.byted.org/simple
                        
# 2025-11-12 17:22:25  0.00B 定义构建参数
ARG DISABLE_MCP_SERVER=true
                        
# 2025-11-12 17:22:25  0.00B 定义构建参数
ARG APT_MIRROR_HOST=
                        
# 2025-11-12 17:22:25  0.00B 设置环境变量 MAX_SHELL_SESSIONS
ENV MAX_SHELL_SESSIONS=50
                        
# 2025-11-12 17:22:25  0.00B 设置环境变量 WAIT_PORTS
ENV WAIT_PORTS=8091,8079
                        
# 2025-11-12 17:22:25  0.00B 设置环境变量 TINYPROXY_PORT
ENV TINYPROXY_PORT=8118
                        
# 2025-11-12 17:22:25  0.00B 设置环境变量 MCP_SERVER_BROWSER_PORT
ENV MCP_SERVER_BROWSER_PORT=8100
                        
# 2025-11-12 17:22:25  0.00B 设置环境变量 CODE_SERVER_PORT
ENV CODE_SERVER_PORT=8200
                        
# 2025-11-12 17:22:25  0.00B 设置环境变量 JUPYTER_LAB_PORT
ENV JUPYTER_LAB_PORT=8888
                        
# 2025-11-12 17:22:25  0.00B 设置环境变量 SANDBOX_SRV_PORT
ENV SANDBOX_SRV_PORT=8091
                        
# 2025-11-12 17:22:25  0.00B 设置环境变量 MCP_HUB_PORT
ENV MCP_HUB_PORT=8079
                        
# 2025-11-11 23:32:12  0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/opt/gem/run.sh"]
                        
# 2025-11-11 23:32:12  608.00B 执行命令并创建新的镜像层
RUN |14 REGION=china-north-lf TARGETARCH=amd64 APT_MIRROR_HOST= WEBSOCAT_URL= NOVNC_URL=https://github.com/novnc/noVNC/archive/refs/tags/v1.4.0.zip BROWSER_SOURCE=rs NPM_CONFIG_REGISTRY=https://bnpm.byted.org NODEJS_SETUP_URL=https://deb.nodesource.com/setup_22.x DISABLE_MCP_SERVER=false MCP_SERVER_VERSION=1.2.21 PYTHON_URL= PIPX_URL=https://github.com/pypa/pipx/releases/download/1.7.1/pipx.pyz PIP_INDEX_URL=https://bytedpypi.byted.org/simple USE_SYSTEM_PYTHON=true /bin/sh -c set -eux;     chmod +x /opt/gem/browser-ctl.sh /opt/gem/entrypoint.sh /opt/gem/mcp-ctl.sh /opt/gem/nginx-wait.sh /opt/gem/openbox.sh /opt/gem/start-browser.sh /opt/gem/xdg-settings;     ln -s /opt/gem/xdg-settings /usr/local/bin/xdg-settings;     ln -s /opt/gem/entrypoint.sh /opt/gem/run.sh;     ln -s /opt/gem/supervisord.conf /etc/supervisord.conf # buildkit
                        
# 2025-11-11 23:32:12  0.00B 声明容器运行时监听的端口
EXPOSE map[8080/tcp:{}]
                        
# 2025-11-11 23:32:12  0.00B 指定检查容器健康状态的命令
HEALTHCHECK &{["CMD-SHELL" "nc -z localhost ${BROWSER_REMOTE_DEBUGGING_PORT} || exit 1"] "10s" "5s" "0s" "0s" '\b'}
                        
# 2025-11-11 23:32:12  0.00B 设置环境变量 WAIT_INTERVAL
ENV WAIT_INTERVAL=0.25
                        
# 2025-11-11 23:32:12  0.00B 设置环境变量 WAIT_TIMEOUT
ENV WAIT_TIMEOUT=300
                        
# 2025-11-11 23:32:12  0.00B 设置环境变量 WAIT_PORTS
ENV WAIT_PORTS=
                        
# 2025-11-11 23:32:12  0.00B 设置环境变量 AUTH_BACKEND_PORT
ENV AUTH_BACKEND_PORT=8081
                        
# 2025-11-11 23:32:12  0.00B 设置环境变量 PUBLIC_PORT
ENV PUBLIC_PORT=8080
                        
# 2025-11-11 23:32:12  0.00B 设置环境变量 MCP_SERVER_PORT
ENV MCP_SERVER_PORT=8089
                        
# 2025-11-11 23:32:12  0.00B 设置环境变量 GEM_SERVER_PORT
ENV GEM_SERVER_PORT=8088
                        
# 2025-11-11 23:32:12  0.00B 设置环境变量 WEBSOCKET_PROXY_PORT
ENV WEBSOCKET_PROXY_PORT=6080
                        
# 2025-11-11 23:32:12  0.00B 设置环境变量 VNC_SERVER_PORT
ENV VNC_SERVER_PORT=5900
                        
# 2025-11-11 23:32:12  0.00B 设置环境变量 JWT_PUBLIC_KEY
ENV JWT_PUBLIC_KEY=
                        
# 2025-11-11 23:32:12  0.00B 设置环境变量 LOG_DIR
ENV LOG_DIR=/var/log/gem
                        
# 2025-11-11 23:32:12  0.00B 设置环境变量 DNS_OVER_HTTPS_TEMPLATES
ENV DNS_OVER_HTTPS_TEMPLATES=https://dns.alidns.com/dns-query{?dns}
                        
# 2025-11-11 23:32:12  0.00B 设置环境变量 BROWSER_EXTRA_ARGS
ENV BROWSER_EXTRA_ARGS=
                        
# 2025-11-11 23:32:12  0.00B 设置环境变量 BROWSER_COMMANDLINE_ARGS --disable-blink-features --disable-features --remote-allow-origins --remote-debugging-port
ENV BROWSER_COMMANDLINE_ARGS=--disable-backgrounding-occluded-windows     --disable-background-timer-throttling     --disable-blink-features=AutomationControlled     --disable-dev-shm-usage     --disable-external-intent-requests     --disable-features=IPH_DesktopCustomizeChrome,IsolateOrigins,site-per-proces,Translate     --disable-focus-on-load     --disable-gpu     --disable-infobars     --disable-popup-blocking     --disable-prompt-on-repost     --disable-renderer-backgrounding     --disable-site-isolation-trials     --disable-web-security     --disable-window-activation     --mute-audio     --no-default-browser-check     --no-first-run     --noerrdialogs     --remote-allow-origins=*     --remote-debugging-port=9222     --suppress-message-center-popups     --start-maximized
                        
# 2025-11-11 23:32:12  0.00B 设置环境变量 BROWSER_REMOTE_DEBUGGING_PORT
ENV BROWSER_REMOTE_DEBUGGING_PORT=9222
                        
# 2025-11-11 23:32:12  0.00B 设置环境变量 BROWSER_EXECUTABLE_PATH
ENV BROWSER_EXECUTABLE_PATH=/usr/local/bin/browser
                        
# 2025-11-11 23:32:12  0.00B 设置环境变量 XDG_RUNTIME_DIR
ENV XDG_RUNTIME_DIR=/tmp/runtime-gem
                        
# 2025-11-11 23:32:12  0.00B 设置环境变量 DISPLAY_DEPTH
ENV DISPLAY_DEPTH=24
                        
# 2025-11-11 23:32:12  0.00B 设置环境变量 DISPLAY_HEIGHT
ENV DISPLAY_HEIGHT=720
                        
# 2025-11-11 23:32:12  0.00B 设置环境变量 DISPLAY_WIDTH
ENV DISPLAY_WIDTH=1280
                        
# 2025-11-11 23:32:12  0.00B 设置环境变量 DISPLAY
ENV DISPLAY=:99.0
                        
# 2025-11-11 23:32:12  0.00B 设置环境变量 USER_GID
ENV USER_GID=1000
                        
# 2025-11-11 23:32:12  0.00B 设置环境变量 USER_UID
ENV USER_UID=1000
                        
# 2025-11-11 23:32:12  0.00B 设置环境变量 USER
ENV USER=gem
                        
# 2025-11-11 23:32:12  2.39KB 执行命令并创建新的镜像层
RUN |14 REGION=china-north-lf TARGETARCH=amd64 APT_MIRROR_HOST= WEBSOCAT_URL= NOVNC_URL=https://github.com/novnc/noVNC/archive/refs/tags/v1.4.0.zip BROWSER_SOURCE=rs NPM_CONFIG_REGISTRY=https://bnpm.byted.org NODEJS_SETUP_URL=https://deb.nodesource.com/setup_22.x DISABLE_MCP_SERVER=false MCP_SERVER_VERSION=1.2.21 PYTHON_URL= PIPX_URL=https://github.com/pypa/pipx/releases/download/1.7.1/pipx.pyz PIP_INDEX_URL=https://bytedpypi.byted.org/simple USE_SYSTEM_PYTHON=true /bin/sh -c set -eux;     mkdir -p /opt/gem/supervisord/ /opt/gem/nginx/;     cp /opt/gem/supervisord.browser.conf /opt/gem/supervisord/browser.conf;     cp /opt/gem/supervisord.nginx.conf /opt/gem/supervisord/nginx.conf;     cp /opt/gem/supervisord.openbox.conf /opt/gem/supervisord/openbox.conf;     cp /opt/gem/supervisord.srv.conf /opt/gem/supervisord/srv.conf;     cp /opt/gem/supervisord.vnc.conf /opt/gem/supervisord/vnc.conf;     mkdir -p /etc/browser/policies/managed;     cp /opt/gem/policies.json /etc/browser/policies/managed/policies.json # buildkit
                        
# 2025-11-11 23:32:12  61.49KB 复制新文件或目录到容器中
COPY config/ /opt/gem/ # buildkit
                        
# 2025-11-10 14:01:00  0.00B 执行命令并创建新的镜像层
RUN |14 REGION=china-north-lf TARGETARCH=amd64 APT_MIRROR_HOST= WEBSOCAT_URL= NOVNC_URL=https://github.com/novnc/noVNC/archive/refs/tags/v1.4.0.zip BROWSER_SOURCE=rs NPM_CONFIG_REGISTRY=https://bnpm.byted.org NODEJS_SETUP_URL=https://deb.nodesource.com/setup_22.x DISABLE_MCP_SERVER=false MCP_SERVER_VERSION=1.2.21 PYTHON_URL= PIPX_URL=https://github.com/pypa/pipx/releases/download/1.7.1/pipx.pyz PIP_INDEX_URL=https://bytedpypi.byted.org/simple USE_SYSTEM_PYTHON=true /bin/sh -c apt-get clean -y;     rm -rf /var/lib/apt/lists/* /var/cache/apt/*;     if [ -f /etc/apt/sources.list.orig ]; then         mv /etc/apt/sources.list.orig /etc/apt/sources.list;     fi # buildkit
                        
# 2025-11-10 14:01:00  3.04MB 执行命令并创建新的镜像层
RUN |14 REGION=china-north-lf TARGETARCH=amd64 APT_MIRROR_HOST= WEBSOCAT_URL= NOVNC_URL=https://github.com/novnc/noVNC/archive/refs/tags/v1.4.0.zip BROWSER_SOURCE=rs NPM_CONFIG_REGISTRY=https://bnpm.byted.org NODEJS_SETUP_URL=https://deb.nodesource.com/setup_22.x DISABLE_MCP_SERVER=false MCP_SERVER_VERSION=1.2.21 PYTHON_URL= PIPX_URL=https://github.com/pypa/pipx/releases/download/1.7.1/pipx.pyz PIP_INDEX_URL=https://bytedpypi.byted.org/simple USE_SYSTEM_PYTHON=true /bin/sh -c pip install supervisor==4.3.0 &&     ln -s /usr/local/bin/supervisord /usr/bin/supervisord &&     ln -s /usr/local/bin/supervisorctl /usr/bin/supervisorctl # buildkit
                        
# 2025-11-10 14:00:59  92.31MB 执行命令并创建新的镜像层
RUN |14 REGION=china-north-lf TARGETARCH=amd64 APT_MIRROR_HOST= WEBSOCAT_URL= NOVNC_URL=https://github.com/novnc/noVNC/archive/refs/tags/v1.4.0.zip BROWSER_SOURCE=rs NPM_CONFIG_REGISTRY=https://bnpm.byted.org NODEJS_SETUP_URL=https://deb.nodesource.com/setup_22.x DISABLE_MCP_SERVER=false MCP_SERVER_VERSION=1.2.21 PYTHON_URL= PIPX_URL=https://github.com/pypa/pipx/releases/download/1.7.1/pipx.pyz PIP_INDEX_URL=https://bytedpypi.byted.org/simple USE_SYSTEM_PYTHON=true /bin/sh -c set -eux;     if [ "$(python3 -c 'import sys; print(sys.version_info.major == 3 and sys.version_info.minor == 10)')" = "True" ] && [ "$USE_SYSTEM_PYTHON" = "true" ]; then         curl -sSL https://bootstrap.pypa.io/get-pip.py | python3;         pip install --no-cache-dir -r /tmp/requirements.txt --no-deps /tmp/wheels/*.whl;         rm -rf /tmp/wheels /tmp/requirements.txt;     else         _python_url="${PYTHON_URL}";         if [ -z "${_python_url}" ]; then             ARCH_STRING="";             case "${TARGETARCH}" in                 "amd64") ARCH_STRING="x86_64" ;;                 "arm64") ARCH_STRING="aarch64" ;;                 *) echo "Unsupported architecture for Python standalone: ${TARGETARCH}"; exit 1 ;;             esac;             _python_url="https://github.com/astral-sh/python-build-standalone/releases/download/20250723/cpython-3.10.18+20250723-${ARCH_STRING}-unknown-linux-gnu-install_only_stripped.tar.gz";         fi;         wget -O /tmp/python.tar.gz "${_python_url}";         mkdir -p /opt/python;         tar -xzf /tmp/python.tar.gz -C /opt/python --strip-components=1;         /opt/python/bin/python3 -m venv /opt/gem-server/.venv;         /opt/gem-server/.venv/bin/pip3 install --no-cache-dir -r /tmp/requirements.txt;         rm -rf /tmp/python.tar.gz /tmp/requirements.txt;         ln -s /opt/gem-server/gem-server /usr/local/bin/gem-server;     fi # buildkit
                        
# 2025-11-10 14:00:36  295.98KB 复制新文件或目录到容器中
COPY server/ /opt/gem-server/ # buildkit
                        
# 2025-11-10 14:00:36  2.13KB 复制新文件或目录到容器中
COPY /app/requirements.txt /tmp/requirements.txt # buildkit
                        
# 2025-11-10 14:00:36  18.12KB 复制新文件或目录到容器中
COPY /wheels/*.whl /tmp/wheels/ # buildkit
                        
# 2025-11-04 00:19:36  0.00B 定义构建参数
ARG USE_SYSTEM_PYTHON=true
                        
# 2025-11-04 00:19:36  0.00B 定义构建参数
ARG PIP_INDEX_URL=https://bytedpypi.byted.org/simple
                        
# 2025-11-04 00:19:36  0.00B 定义构建参数
ARG PIPX_URL=https://github.com/pypa/pipx/releases/download/1.7.1/pipx.pyz
                        
# 2025-11-04 00:19:36  0.00B 定义构建参数
ARG PYTHON_URL=
                        
# 2025-11-04 00:19:36  393.41MB 执行命令并创建新的镜像层
RUN |10 REGION=china-north-lf TARGETARCH=amd64 APT_MIRROR_HOST= WEBSOCAT_URL= NOVNC_URL=https://github.com/novnc/noVNC/archive/refs/tags/v1.4.0.zip BROWSER_SOURCE=rs NPM_CONFIG_REGISTRY=https://bnpm.byted.org NODEJS_SETUP_URL=https://deb.nodesource.com/setup_22.x DISABLE_MCP_SERVER=false MCP_SERVER_VERSION=1.2.21 /bin/sh -c set -eux;     if [ -z "$DISABLE_MCP_SERVER" ] || [ "$DISABLE_MCP_SERVER" = "false" ]; then       /opt/gem/mcp-ctl.sh install ${MCP_SERVER_VERSION};     else       touch /opt/gem/mcp.disabled;     fi # buildkit
                        
# 2025-11-04 00:19:06  0.00B 定义构建参数
ARG MCP_SERVER_VERSION=1.2.21
                        
# 2025-11-04 00:19:06  0.00B 定义构建参数
ARG DISABLE_MCP_SERVER=false
                        
# 2025-11-04 00:19:06  0.00B 定义构建参数
ARG NODEJS_SETUP_URL=https://deb.nodesource.com/setup_22.x
                        
# 2025-11-04 00:19:06  0.00B 定义构建参数
ARG NPM_CONFIG_REGISTRY=https://bnpm.byted.org
                        
# 2025-11-04 00:19:06  3.02KB 复制新文件或目录到容器中
COPY config/mcp-ctl.sh /opt/gem/mcp-ctl.sh # buildkit
                        
# 2025-11-04 00:19:06  535.86MB 执行命令并创建新的镜像层
RUN |6 REGION=china-north-lf TARGETARCH=amd64 APT_MIRROR_HOST= WEBSOCAT_URL= NOVNC_URL=https://github.com/novnc/noVNC/archive/refs/tags/v1.4.0.zip BROWSER_SOURCE=rs /bin/sh -c set -eux;     case "${REGION}" in       "china-north-lf"|"") URL_PREFIX="https://lf3-static.bytednsdoc.com/obj/eden-cn/100upeupq/" ;;       "aliyun_sg") URL_PREFIX="https://sf16-sg.tiktokcdn.com/obj/eden-sg/100upeupq/" ;;       "aliyun_va") URL_PREFIX="https://sf16-va.tiktokcdn.com/obj/eden-va2/100upeupq/" ;;       "us-east"|"us-east-red") URL_PREFIX="https://sf16-va.tiktokcdn.com/obj/eden-va2/100upeupq/" ;;       *) URL_PREFIX="https://lf3-static.bytednsdoc.com/obj/eden-cn/100upeupq/" ;;     esac;     ASSET_PREFIX="${URL_PREFIX}" /opt/gem/browser-ctl.sh install ${BROWSER_SOURCE} # buildkit
                        
# 2025-11-04 00:18:13  11.26KB 复制新文件或目录到容器中
COPY config/browser-ctl.sh /opt/gem/browser-ctl.sh # buildkit
                        
# 2025-11-04 00:18:13  0.00B 定义构建参数
ARG BROWSER_SOURCE=rs
                        
# 2025-11-04 00:18:13  2.33MB 执行命令并创建新的镜像层
RUN |5 REGION=china-north-lf TARGETARCH=amd64 APT_MIRROR_HOST= WEBSOCAT_URL= NOVNC_URL=https://github.com/novnc/noVNC/archive/refs/tags/v1.4.0.zip /bin/sh -c set -eux;     wget -O /tmp/novnc.zip $NOVNC_URL;     unzip -q /tmp/novnc.zip -d /tmp/novnc;     mv /tmp/novnc/noVNC-1.4.0 /opt/novnc;     cp /opt/novnc/vnc.html /opt/novnc/index.html;     rm /tmp/novnc.zip # buildkit
                        
# 2025-11-04 00:18:10  0.00B 定义构建参数
ARG NOVNC_URL=https://github.com/novnc/noVNC/archive/refs/tags/v1.4.0.zip
                        
# 2025-11-04 00:18:10  7.25MB 执行命令并创建新的镜像层
RUN |4 REGION=china-north-lf TARGETARCH=amd64 APT_MIRROR_HOST= WEBSOCAT_URL= /bin/sh -c set -eux;     _websocat_url="${WEBSOCAT_URL}";     if [ -z "${_websocat_url}" ]; then         ARCH_STRING="";         case "${TARGETARCH}" in             "amd64") ARCH_STRING="x86_64" ;;             "arm64") ARCH_STRING="aarch64" ;;             *) echo "Unsupported architecture for websocat: ${TARGETARCH}"; exit 1 ;;         esac;         _websocat_url="https://github.com/vi/websocat/releases/download/v1.13.0/websocat.${ARCH_STRING}-unknown-linux-musl";     fi;     wget -O /usr/local/bin/websocat "${_websocat_url}";     chmod +x /usr/local/bin/websocat # buildkit
                        
# 2025-11-04 00:18:07  0.00B 定义构建参数
ARG WEBSOCAT_URL=
                        
# 2025-11-04 00:18:07  752.90MB 执行命令并创建新的镜像层
RUN |3 REGION=china-north-lf TARGETARCH=amd64 APT_MIRROR_HOST= /bin/sh -c set -eux;     if [ -n "${APT_MIRROR_HOST}" ]; then         cp /etc/apt/sources.list /etc/apt/sources.list.orig;         sed -i -E -e "s;//([^/]*\.)?(ubuntu\.com|debian\.org);//${APT_MIRROR_HOST};g" /etc/apt/sources.list;     fi;     apt-get update;     apt-get install -y --no-install-recommends         wget ca-certificates         libcairo2 libxcb1 libxrandr2 libxv1         zip unzip curl         xdotool xclip libgtk-3-0         python3-tk python3-dev gnome-screenshot         tigervnc-standalone-server x11-xserver-utils         openbox         nginx         gettext netcat-openbsd;     apt-get install -y --no-install-recommends         fonts-noto-color-emoji         fonts-arphic-ukai fonts-arphic-uming         fonts-wqy-zenhei xfonts-intl-chinese xfonts-wqy         fonts-ipafont-mincho fonts-ipafont-gothic         fonts-takao-mincho         fonts-unfonts-core         fonts-wqy-microhei         fonts-indic;     fc-cache -fv # buildkit
                        
# 2025-11-04 00:18:07  0.00B 定义构建参数
ARG APT_MIRROR_HOST=
                        
# 2025-11-04 00:18:07  0.00B 设置环境变量 DEBIAN_FRONTEND
ENV DEBIAN_FRONTEND=noninteractive
                        
# 2025-11-04 00:18:07  0.00B 定义构建参数
ARG TARGETARCH=amd64
                        
# 2025-11-04 00:18:07  0.00B 定义构建参数
ARG REGION=china-north-lf
                        
# 2025-10-01 15:05:10  0.00B 
/bin/sh -c #(nop)  CMD ["/bin/bash"]
                        
# 2025-10-01 15:05:09  77.87MB 
/bin/sh -c #(nop) ADD file:32d41b6329e8f89fa4ac92ef97c04b7cfd5e90fb74e1509c3e27d7c91195b7c7 in / 
                        
# 2025-10-01 15:05:07  0.00B 
/bin/sh -c #(nop)  LABEL org.opencontainers.image.version=22.04
                        
# 2025-10-01 15:05:07  0.00B 
/bin/sh -c #(nop)  LABEL org.opencontainers.image.ref.name=ubuntu
                        
# 2025-10-01 15:05:07  0.00B 
/bin/sh -c #(nop)  ARG LAUNCHPAD_BUILD_ARCH
                        
# 2025-10-01 15:05:07  0.00B 
/bin/sh -c #(nop)  ARG RELEASE
                        
                    

镜像信息

{
    "Id": "sha256:9acc2d2ced30697c6d27a25f0d2de5f010a353f1b2f9f262358f34c3aed61dde",
    "RepoTags": [
        "cube-sandbox-image.tencentcloudcr.com/demo/aio-sandbox-envd-openclaw:latest",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/cube-sandbox-image.tencentcloudcr.com/demo/aio-sandbox-envd-openclaw:latest"
    ],
    "RepoDigests": [
        "cube-sandbox-image.tencentcloudcr.com/demo/aio-sandbox-envd-openclaw@sha256:421157836f51a7b8f16005e57f3aa88dd6adc8bb5be411a7bce4205414584495",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/cube-sandbox-image.tencentcloudcr.com/demo/aio-sandbox-envd-openclaw@sha256:421157836f51a7b8f16005e57f3aa88dd6adc8bb5be411a7bce4205414584495"
    ],
    "Parent": "",
    "Comment": "buildkit.dockerfile.v0",
    "Created": "2026-05-24T13:19:54.204909521+08:00",
    "Container": "",
    "ContainerConfig": null,
    "DockerVersion": "",
    "Author": "",
    "Config": {
        "Hostname": "",
        "Domainname": "",
        "User": "",
        "AttachStdin": false,
        "AttachStdout": false,
        "AttachStderr": false,
        "ExposedPorts": {
            "18789/tcp": {},
            "49983/tcp": {},
            "8080/tcp": {}
        },
        "Tty": false,
        "OpenStdin": false,
        "StdinOnce": false,
        "Env": [
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "DEBIAN_FRONTEND=noninteractive",
            "USER=gem",
            "USER_UID=1000",
            "USER_GID=1000",
            "DISPLAY=:99.0",
            "DISPLAY_WIDTH=1280",
            "DISPLAY_HEIGHT=1024",
            "DISPLAY_DEPTH=24",
            "XDG_RUNTIME_DIR=/tmp/runtime-gem",
            "BROWSER_EXECUTABLE_PATH=/usr/local/bin/browser",
            "BROWSER_REMOTE_DEBUGGING_PORT=9222",
            "BROWSER_COMMANDLINE_ARGS=--disable-backgrounding-occluded-windows     --disable-background-timer-throttling     --disable-blink-features=AutomationControlled     --disable-dev-shm-usage     --disable-external-intent-requests     --disable-features=IPH_DesktopCustomizeChrome,IsolateOrigins,site-per-proces,Translate     --disable-focus-on-load     --disable-gpu     --disable-infobars     --disable-popup-blocking     --disable-prompt-on-repost     --disable-renderer-backgrounding     --disable-site-isolation-trials     --disable-web-security     --disable-window-activation     --mute-audio     --no-default-browser-check     --no-first-run     --noerrdialogs     --remote-allow-origins=*     --remote-debugging-port=9222     --suppress-message-center-popups     --start-maximized",
            "BROWSER_EXTRA_ARGS=",
            "DNS_OVER_HTTPS_TEMPLATES=",
            "LOG_DIR=/var/log/gem",
            "JWT_PUBLIC_KEY=",
            "VNC_SERVER_PORT=5900",
            "WEBSOCKET_PROXY_PORT=6080",
            "GEM_SERVER_PORT=8088",
            "MCP_SERVER_PORT=8089",
            "PUBLIC_PORT=8080",
            "AUTH_BACKEND_PORT=8081",
            "WAIT_PORTS=8091,8079",
            "WAIT_TIMEOUT=300",
            "WAIT_INTERVAL=0.25",
            "MCP_HUB_PORT=8079",
            "SANDBOX_SRV_PORT=8091",
            "JUPYTER_LAB_PORT=8888",
            "CODE_SERVER_PORT=8200",
            "MCP_SERVER_BROWSER_PORT=8100",
            "TINYPROXY_PORT=8118",
            "MAX_SHELL_SESSIONS=50",
            "LANG=en_US.UTF-8",
            "TZ=Asia/Singapore",
            "LANGUAGE=en_US:en",
            "LC_ALL=en_US.UTF-8",
            "PUPPETEER_EXECUTABLE_PATH=/usr/local/bin/browser",
            "PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true",
            "BROWSER_NO_SANDBOX=",
            "BROWSER_USER_AGENT=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36",
            "UV_TOOL_BIN_DIR=/usr/local/bin/",
            "UV_TOOL_DIR=/usr/local/share/uv/tools",
            "DISABLE_JUPYTER=false",
            "DISABLE_CODE_SERVER=false",
            "OPENCLAW_OPEN_BROWSER=true",
            "OPENCLAW_DEFAULT_MODEL=deepseek/deepseek-v4-flash"
        ],
        "Cmd": [
            "/usr/local/bin/aio-with-envd.sh"
        ],
        "Healthcheck": {
            "Test": [
                "CMD-SHELL",
                "nc -z localhost ${BROWSER_REMOTE_DEBUGGING_PORT} || exit 1"
            ],
            "Interval": 10000000000,
            "Timeout": 5000000000,
            "Retries": 8
        },
        "ArgsEscaped": true,
        "Image": "",
        "Volumes": null,
        "WorkingDir": "/",
        "Entrypoint": null,
        "OnBuild": null,
        "Labels": {
            "org.opencontainers.image.ref.name": "ubuntu",
            "org.opencontainers.image.version": "22.04",
            "version": "1.0.0.152"
        }
    },
    "Architecture": "amd64",
    "Os": "linux",
    "Size": 6738445158,
    "GraphDriver": {
        "Data": {
            "LowerDir": "/var/lib/docker/overlay2/57ee64ba8909eb91f240b8a57388cebaf5855d3f61098c7a674c1dd8138efb31/diff:/var/lib/docker/overlay2/dd12a9e287d780b1cf7b01b7706a5740b0ec1273cd8245c774f6517da78fbf64/diff:/var/lib/docker/overlay2/d3d24ddca546556094ecfa73070f3666ff59746506c41feac7f1d773d3cc5c99/diff:/var/lib/docker/overlay2/41c0d32725ed3774adc1421a6efa99d4765a8488080f99d5c5b4f30a85ca5024/diff:/var/lib/docker/overlay2/4581db747c0a911e907d27e8121981f74243e7a582ffa23b96601b8878a42939/diff:/var/lib/docker/overlay2/ed0566e9886febed9821e4d1faf2babe76269deed516b5c90ddd8295a43b8d59/diff:/var/lib/docker/overlay2/0ff3058e5415b11fab5a9d2320bfdb6e01293664f2738a72182a237f38ace1a7/diff:/var/lib/docker/overlay2/d717a761d048085a67be6a426209f8763ffb08ff5f004fc5499894c62a41350b/diff:/var/lib/docker/overlay2/dc4452bd524354062a13f6715ef1c997225666904d5068b003f940e12a5757de/diff:/var/lib/docker/overlay2/935e65abef79b8152871b5cf64af1f1543d4ef59c41a744895467bce43d71280/diff:/var/lib/docker/overlay2/af512b2b796a0d02af95632567356f1874c7d5f4d8f803971c27ef1a691c35cb/diff:/var/lib/docker/overlay2/7ea76084b1d4b8b58518533d3a2e60d9cdb30ca11e445100263de19fcb062771/diff:/var/lib/docker/overlay2/f5c8afacdfa644ba563d7300d26a37246819e6612d1333924eff4a1bc050ec46/diff:/var/lib/docker/overlay2/cb6e3478619bdc1d8f82589e5af3bd1b5d8f7c8df9faf7dcf759dfa68e79d87a/diff:/var/lib/docker/overlay2/888218ea93b77ae296eccb2a5dbb1f6c95457ead92fcd7789d0d17e505a9a228/diff:/var/lib/docker/overlay2/0fc174690bafcbff7409acaa66702f92f719275bf525c568fad3996ad4aea211/diff:/var/lib/docker/overlay2/9253745928ada866b83a2f54e2842f549bd7b5a29ae9619c04193dcce6632223/diff:/var/lib/docker/overlay2/e1fc3f2fc4679b73d3e11f3e65f1a7d4739d46dc60f55ddec7d81846afecb7c3/diff:/var/lib/docker/overlay2/45653b897d5fb7b1155e23c7a77ee7f474e1090113bc05be7ea3d589b34c78d7/diff:/var/lib/docker/overlay2/a162fa130fa7fde0b9d37bf35e0cfd04439cf526f1e6a0a621eb7384f30eba21/diff:/var/lib/docker/overlay2/6430cf93a93abffe383970b91f15b0942d69814db1ad7ac4ec4710e5f06a6df9/diff:/var/lib/docker/overlay2/170e516b4a692320c4d3182d53df76bab55af055554e8b17625c13678484b2b4/diff:/var/lib/docker/overlay2/686715be9b7e9fc04523adc8a6ffd460aff42c5bc2a5216e44845a0fc434ecab/diff:/var/lib/docker/overlay2/c4f97cc2addc9fd9f1b570c6fb863684d5628fab44ef4d61ab6052bbe64a9245/diff:/var/lib/docker/overlay2/51c1810526697e51636fc7ee8c9e479ec968573fe2db2c9ba4036f3fb7919d9c/diff:/var/lib/docker/overlay2/346f84ca32e9708faac8362b457ef364cf7475a86d03036c953eb353de1cdf55/diff:/var/lib/docker/overlay2/5d3ec3aaf648c5008f45949fcbeda264feffcad8130e39701f0a15c0b68f88b7/diff:/var/lib/docker/overlay2/55db5552ae48a1e5423c82cf0f2a3cb3b4c388afe80837be5e8fc08b4328c12b/diff:/var/lib/docker/overlay2/c9d6f69843d33b7cb4b69da4b56d2262e2cfb049f2515502078d1b06a5a1d71f/diff:/var/lib/docker/overlay2/70fbdc2fb02d2a58e2585ab1f02f105756fac6f97fe5e14e229ec2f0bd9c7db8/diff:/var/lib/docker/overlay2/68602ac8a7765d6754f1eac746ec132b5a8c85443e6bc77c8d3a1a18a00f7dc2/diff:/var/lib/docker/overlay2/29eea68dff615da9aa58116064114c986dd0b7d46dceadc777da9fb4848970ac/diff:/var/lib/docker/overlay2/d4a6f811fd90bd07e5f7568f945e723080b946c5e8672cb3faf90228c5d59e9c/diff:/var/lib/docker/overlay2/d6dbfc6863219561c490e8368256e70dac8d7004f8b2ff02fb153b89dbd51a82/diff:/var/lib/docker/overlay2/7e290d8e693332c491f49734369f1447e2c737750281ea56b600939b5fe300bf/diff:/var/lib/docker/overlay2/a4627342a0fdf99f85107687871cb116d6dd4a16951bc0cae6213651eea406b1/diff:/var/lib/docker/overlay2/354e01a70614fa14ac6475efd86f6158243b503f2dd8195e2ba4a3d29359537e/diff:/var/lib/docker/overlay2/7c32efa95f9e60dfce9bbbf01f4996e5f8cf1d5bb8a4fcdd99d5a8c7c4597d49/diff:/var/lib/docker/overlay2/d37103f63084910b28f5b25fa07a8b68d52608f1f7ac5408b3e72a7ce3b57845/diff:/var/lib/docker/overlay2/6c7cc0d477c9be79116b9dc3bd8807bfd6aa7fc1fd787a4aad6c808ca544685e/diff:/var/lib/docker/overlay2/acb192a59d2394640fd1ab702823e89b6d2a7696f767ab0e336e20a936abc46f/diff:/var/lib/docker/overlay2/be03870759d256fb0e894f8090b023305607510d4c4f40717d9548e404dab16e/diff:/var/lib/docker/overlay2/4edab3f5bd011a4a47f66cdd4ce43ed806037f1eebf3eeb4d831405d21c48d96/diff:/var/lib/docker/overlay2/7185d7653d12facc0e348536dcfdcd4397d8eaf07f68209030cd1aadb658a175/diff:/var/lib/docker/overlay2/2baf31f4d65e8c7965c1af25d01ae402f340f91dab0808b6010b24b858fae8e1/diff:/var/lib/docker/overlay2/263e4d99e1ab4933ee4543fdef14c1f40fc71deae53f96534f743fc38ea32b8d/diff:/var/lib/docker/overlay2/4a5e940cd9d80db8939c3692e83daa595fd82e110ceee9ecb19a48b31c8ca0b1/diff:/var/lib/docker/overlay2/7531c1926a2d2805ad82b1bc01a4f5e98873c8cf4f97550c08d37b976b3d53d4/diff:/var/lib/docker/overlay2/c814128f8d92ff3fb1a5cc801b802a47570296c96c9ff88d7fcd67b10c5296b8/diff:/var/lib/docker/overlay2/384bd48d84287c5545fb7066653293b13cb53038ec2c1d5ef0ecf8200e42f6d8/diff:/var/lib/docker/overlay2/507ec5cc7489f79ec5654036db41dd1b83af1c847294552fd11ce2279f0029c7/diff:/var/lib/docker/overlay2/feb7f7821eb97fe47f13354c854336220c4a9c46d5b10fb03b123b8eb18f020f/diff:/var/lib/docker/overlay2/7bebe47ad58c1b979dc3dcc7c99fb0f004529e4c42933ada64248f6b0da3efd3/diff:/var/lib/docker/overlay2/afbc0b722dfc06f7e6e4da131353bce7130e6214140b00fa755b1c413f7284eb/diff:/var/lib/docker/overlay2/7cc914551aa6f64f947a407505588c9bc0b2eb81c30284d861e05b0733fd276d/diff:/var/lib/docker/overlay2/86e540965a9c9710bbdd2c3dd233f2b03d3ebc71c986decd4b24a9590ce15ada/diff:/var/lib/docker/overlay2/c62efbc69702355a8cca32b90e90ba4c8888aa46d611f529e6ac8bc7547edffa/diff:/var/lib/docker/overlay2/071ee6d11b03ec7fff0f97fa897e5c83e21a5455b9e997de374b380f50c6e1dd/diff:/var/lib/docker/overlay2/d05e89fa19d7cdeb671ad9bc01c85cda8386a2867f50b074dff3ed9a50d7eebc/diff:/var/lib/docker/overlay2/b457169c85c370f91f074efb22bb95953df995338fc3947d5fb1fa0e5167b33d/diff:/var/lib/docker/overlay2/0d4de8941a33d9620d11fba4f0d1f2f87b0fb131212388060af3abb9848fb25f/diff:/var/lib/docker/overlay2/6295cc565f862dd557d277bf7b51222724d58ef504401cebdd881a8872af620a/diff:/var/lib/docker/overlay2/bd1a60ad14ea54738b2ef68a1d71bb4ded10aaf816146b7198a9b64ab7ec5fa6/diff:/var/lib/docker/overlay2/23e4fcae87bb296f29f5df447735d4edc0ba6f624e03bdb9fd16625631e1647c/diff:/var/lib/docker/overlay2/33025f4c2895c2863ce4147a497b55ad7f0549cc3ae4db8a01318b1a78d84e88/diff:/var/lib/docker/overlay2/d66f8815b761456f60ed94e6ff7aa3210908a404e4daa4cc7d938d5b41b040f6/diff:/var/lib/docker/overlay2/812ff33c881b6a09922a722fca0b19d9637383b35380219aea4d3b715028ac09/diff:/var/lib/docker/overlay2/2d66f008037f048d8133fd0c352588a02e5add65384bc691b609ac5de92d4beb/diff:/var/lib/docker/overlay2/884f45ef8e1d1ad16aca7baab496db59b5fc5c3ef68943e6661fc25732ffdcf4/diff:/var/lib/docker/overlay2/faac8e7df6a4d7cf69c59c49acce624c01cceb7d9d69ec08fceff85edf91aa6e/diff:/var/lib/docker/overlay2/dc996ba94099eff271bef2492ea5fd93226750e0652913277189b12b8da7f135/diff:/var/lib/docker/overlay2/60f3f77904ddce8c42c34905837f94947c371daaddc9ae442c907b76452ce081/diff",
            "MergedDir": "/var/lib/docker/overlay2/ca38654733c840c16aff760b7f5a493a079efe29351ba7b133909017a8fbbf55/merged",
            "UpperDir": "/var/lib/docker/overlay2/ca38654733c840c16aff760b7f5a493a079efe29351ba7b133909017a8fbbf55/diff",
            "WorkDir": "/var/lib/docker/overlay2/ca38654733c840c16aff760b7f5a493a079efe29351ba7b133909017a8fbbf55/work"
        },
        "Name": "overlay2"
    },
    "RootFS": {
        "Type": "layers",
        "Layers": [
            "sha256:767e56ba346ae714b6e6b816baa839051145ed78cfa0e4524a86cc287b0c4b00",
            "sha256:88ca97b5b0d2a210004d6d5e8d62d95c62ed33a23472a27112699ad00ce5f818",
            "sha256:23adab4fd6c65d8060ea28310fb5c1bcd6d0ca6722ab9ef3525e9003d5e48da7",
            "sha256:7cf73c97e48d19b4bc88bab9d4e3ff73388391a584a7fcdf50b59bc44474177f",
            "sha256:c0b2c92439cf5f010820b68caa4cd6bbcae4b95de2678250715860efefa6ad2a",
            "sha256:a37b3d241e215198fe50dfb1f6aa0f50cb43640b83979a92fccbfd3d5a53a33f",
            "sha256:c6688ab846ef657465b2734e7d2718692326888336baabc6b85def9e10e8d93a",
            "sha256:83a9824ab0257e085bdf1966d1af5fa067906a15e3da4b240c9a100d40f89363",
            "sha256:4ca075c6e25199b9d08d9a08ad803c7e15735067bc85a5940fb4c0b7bc0e1710",
            "sha256:4841812e82bd7595d5990d720b340764cf413de242a3549372ae29a54c643d5c",
            "sha256:0b382d6a406bff7d711019ab4f419017531e73494150947c1d75ce1b59396bcf",
            "sha256:9783da0e6ff60ab78fccc35f7269928a1359626881079a38b88c310b55c72cbd",
            "sha256:0b951b5ff40e1c0c1e7b31059a9b84f96f64c3d7e31f0ded3f356efc9e1a6064",
            "sha256:a426153bb833e19d0caa84657d13cd4215f57d984233e2d993357c8d796705c0",
            "sha256:5e8ae7a83f8e89dc0cfd57dd7844c3e11f7a1e675857ec8054e21ffc69b368f4",
            "sha256:ae883d6ecb6d7f1edc05a61a226a5a1f594ac428eaaab2ca591ef210cb6d10a6",
            "sha256:0e32819e954979ca9707a8e6fa512654e2b02457dfa590a6010d242fa509c741",
            "sha256:63670a674091449026983420e30803d042fe1141621555f737a8a4f710ff48f0",
            "sha256:ba7164d2c5642700cb35f37342a01dface4c3b3e4957878168cb461b15703a79",
            "sha256:d9a87da0b151fb408148645d7941bfadad207ef9d70c30edcbba2847724cc415",
            "sha256:5f51ba26fac93630476e9d35b20ff3a456acd75236aed0d77a1697d967878ad8",
            "sha256:ff811d055750a8ae301827022b11ab9731f023687c31b94d22b07ce886107ee6",
            "sha256:0416343fb03bff21db72c0607d527180a0950d3c04669dd976e59e98568f79d2",
            "sha256:6edc3e8ddee804b056e6b60cf12407eb411bf4bd41ae9e44ee7d231fab02d347",
            "sha256:aa504355e3387401846bfa13908d730132844affafca74768822a5842ea11972",
            "sha256:b4a039563e75ba0d745545a5cd9ba34242502fdeef300f1b7d96932fd3c8eb14",
            "sha256:d84753639907463a049b070c7c25b5f8c86e9890d228fda69ff64a6fc9439d94",
            "sha256:126456083e2a7e5f0b8947b035c577c27410f0344afc4b10ed33fc8c782e67b8",
            "sha256:0f625b37a73ffafa50b257266309f11b6b53dc64b788da9553a673cb52f47b63",
            "sha256:5af34389cb180244fff4fc9bb216027ca8800babd9448d53579039d618f0c17f",
            "sha256:48aa04d99fa60d40b31249bba96f3d821188617e37b680da8d0f75bb486eb1d2",
            "sha256:cf16d137f8cc02f97258b746a77401ba55b0ef59badaeb8e672b18ed0e31e897",
            "sha256:c1c56fc9fda85bc7bad20a988cc079f86d1d5212c6dab494322931bc294852d1",
            "sha256:b3a9b44c6df6b221476b79f5651dc0a1d9cb109e361e83e7593c9eac3a4d214e",
            "sha256:3c6e0776e5cc6961fa61d2afeb5cd485c1378384e174e6e157bcfe3ff45da23b",
            "sha256:3cc548fffe4c925086f778896134abb21d38bba15bceed0a89571dbc6bb8cac8",
            "sha256:38ac6e57ed7426be0c0f3868de719b8d80a653e3963e1c779c373a3bc36472fd",
            "sha256:2eef78ebf6b764997bf8786236eb2d9d3d18175ffdbc14ded6a1c0308f65904c",
            "sha256:1d8ae3ccb11d9a570367557330631b0a96eb2c6f78205cfc54ae7b4c85d4d51b",
            "sha256:9cdcd06156db3c7e9f53bf4bfa44f9594f4075f8e6a3e422da997513ece71d09",
            "sha256:4aad89ab3a7c4b4702192ddf6aba250da1f41146b8a54ee16bada2ae9db2952d",
            "sha256:bfe0194b5dfa88a465f0d46bb6fe743e6c2c9bce5927cf5da8818c3bf48a19de",
            "sha256:29cabecd853e441385155f482b1be9addea93afbee9847e7acc01366f835a60a",
            "sha256:de29b456489e85daa1b8007acf7fbf218c64fddd3dba233a5cf77638886015dd",
            "sha256:410b56843e429abf99943d99caf27742f32f74788fc77a538ffade2d7b4023ad",
            "sha256:9ea61fd10c1f0dda87f258bfbe2c3ce0f117cb2da69c3a89a39b689df86092e5",
            "sha256:02b2e74d8492684da5ebb94e158251741392ce9dfba8797f0d195aaa0d14ba01",
            "sha256:65a3c258849f3123bcf5157cafa93c6f68861d98b9455057ce41f504a0a64e43",
            "sha256:8c4cc86711504e2e4d70c75df2573d1917b0ffb62dff94b687042d99ca74364a",
            "sha256:907f52d6123d2d3bd725f7f26c700be6aebadbf8de58777b1986739a8e34ddde",
            "sha256:dbb670b0305ae660d5a362f3b812f6f5e83a2cbbfc86f5d4016e2fc7b4eb68d6",
            "sha256:3527e910e0e044ec6b44e1928dac56d82701de74a1321eb02447c9655be43281",
            "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
            "sha256:63da77867cc6a9d266b4643fac93931b82d2c9e5b05e4b6d2888d989616168bc",
            "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
            "sha256:4ddfff081f65b5f7e8f5ce2733247c68a3b4176d43226603b835ced925401809",
            "sha256:13fc895f5e4a64f94005f86dc78cdad16608c1947e28dd1879016b50a414e867",
            "sha256:a1353a7c78bba69434b28076e65770b74e69d274b3bbf45c96dce37e62fb0063",
            "sha256:91241e61a8de975504377172ec5e233fe657412474e05ed5af54c40bf549fe75",
            "sha256:8bd3d979094605c4cf16836135b7771091b67c15f56175a13b6a69bf37c6bb7d",
            "sha256:731918770fbe5dc9e1f19200948a68ad7972e2a76754afc6bca288ae11bfd490",
            "sha256:82bdb79871c72ece8f32ecf712c0763e6aca7b0e0e6568dd957ebc6485d172a0",
            "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
            "sha256:0d90bc4b483f5ccab241dd6674348b84b71eadafb24d432d7303fb38136929e0",
            "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
            "sha256:e27f8aaa60f59008373cd4dbbe21658049a597821574be74903b5a14a8901555",
            "sha256:8cdfd906720ff8d43617fe7dce3e59464aaace91ce075a236c8622af1e618933",
            "sha256:389f1bb87fa0e14d3a229da5d80c226e0cbb050aa399029dbc0aa91013282eaa",
            "sha256:b8681b36f61560729e0203b2b0d6145484943be784ce147cc641da1fb41e19b0",
            "sha256:08f0a70ff4dbe408ca0366d6ee58cef3d0bdc9401f45ac736c548e1c4f0b5d53",
            "sha256:11337f424a95ffac0b70fde2f82dbe40ebbf5c196cc09f1d6f932093c945066f",
            "sha256:995433dbe6ea78bb7ebbb039a9b76f0310f584bf415581349f23a9f0b04be68d",
            "sha256:67a9d53cef4fb7d2ea92ab80107950bdc81f40811a3058602448a7c550197ec7"
        ]
    },
    "Metadata": {
        "LastTagTime": "2026-10-22T18:53:12.203223177+08:00"
    }
}

更多版本

检测到您正在使用广告拦截插件,本站为公益站点,依赖广告维持运转 🙏 查看如何关闭 ×