logo
ghcr.io/openhands/agent-canvas:1.14.0
linux/amd64 ghcr.io

ghcr.io/openhands/agent-canvas是OpenHands项目提供的Agent Canvas应用的容器镜像,用于部署和运行Agent Canvas服务,支持构建、管理智能代理相关的功能。

15
浏览次数
4.41GB
镜像大小
国内镜像
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openhands/agent-canvas:1.14.0
源镜像
ghcr.io/openhands/agent-canvas:1.14.0
镜像ID
sha256:8afc9b610492a1b7dcf7f4a80c5ef21b63196e2e9e01fa2ab87d9fb5c3ca5e92
镜像 TAG
1.14.0
镜像大小
4.41GB
平台架构
linux/amd64
镜像源
ghcr.io
CMD
启动入口
tini -- /opt/agent-canvas/entrypoint.sh
工作目录
/
OS/平台
linux/amd64
镜像创建
2026-08-17T21:43:05.468285737Z
同步时间
2026-08-21 14:54
浏览量
15 次
贡献者
🔌 开放端口 2
8000/tcp 8002/tcp
📁 目录挂载 2
 /home/openhands/.openhands  /projects
⚙️ 环境变量 28
KeyValue
PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 0
GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305 1
PYTHON_VERSION=3.13.14 2
PYTHON_SHA256=639e43243c620a308f968213df9e00f2f8f62332f7adbaa7a7eeb9783057c690 3
POETRY_HOME=/usr/local 4
OPENHANDS_BUILD_GIT_SHA=167c1f924ac8a8acbeb0432bf9b1fcf77d5c2497 5
OPENHANDS_BUILD_GIT_REF=refs/tags/v1.42.1 6
ACP_NODE_DIR=/opt/acp-node 7
LC_ALL=C.UTF-8 8
LANG=C.UTF-8 9
OH_ENABLE_VNC=false 10
LOG_JSON=true 11
EDITOR=code 12
VISUAL=code 13
GIT_EDITOR=code --wait 14
OPENVSCODE_SERVER_ROOT=/openhands/.openvscode-server 15
NOVNC_WEB=/usr/share/novnc 16
NOVNC_PORT=8002 17
DISPLAY=:1 18
VNC_GEOMETRY=1280x800 19
CHROME_BIN=/usr/bin/chromium 20
PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium 21
CHROMIUM_FLAGS=--no-sandbox --disable-dev-shm-usage --disable-gpu 22
LD_LIBRARY_PATH=/usr/lib/aarch64-linux-gnu:/usr/lib:/usr/lib/x86_64-linux-gnu: 23
AGENT_CANVAS_BUILD_GIT_SHA=c0ba9e6d2b73dca07fe1127b91c1eff719853846 24
AGENT_CANVAS_BUILD_GIT_REF=refs/tags/v1.14.0 25
AGENT_CANVAS_BASE_PATH=/canvas 26
VITE_POSTHOG_API_KEY=phc_BgzfxKdgsYMLFTmJqt424ZoyVHvKFfrwttLimzdYTKFK 27
🏷️ 镜像标签 6
KeyValue
Nikolai R Kristiansen <nikolaik@gmail.com> org.opencontainers.image.authors
All-in-one agent-canvas: Agent Server + Automation + Frontend org.opencontainers.image.description
c0ba9e6d2b73dca07fe1127b91c1eff719853846 org.opencontainers.image.revision
https://github.com/OpenHands/OpenHands org.opencontainers.image.source
agent-canvas org.opencontainers.image.title
1.14.0 org.opencontainers.image.version
🛡️ 镜像安全扫描
debian 13.6 Trivy 2026-08-21 14:55 查看完整报告
894
低危 LOW
797
中危 MEDIUM
364
高危 HIGH
30
严重 CRITICAL
受影响目标 (14)
ghcr.io/openhands/agent-canvas:1.14.0 (debian 13.6) debian Node.js node-pkg Python python-pkg usr/bin/docker gobinary usr/bin/docker-proxy gobinary usr/bin/dockerd gobinary usr/bin/gh gobinary usr/bin/rootlesskit gobinary usr/bin/uv rustbinary usr/bin/uvx rustbinary usr/libexec/docker/cli-plugins/docker-buildx gobinary usr/libexec/docker/cli-plugins/docker-compose gobinary usr/local/bin/uv rustbinary usr/local/bin/uvx rustbinary

Docker拉取命令

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openhands/agent-canvas:1.14.0
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openhands/agent-canvas:1.14.0  ghcr.io/openhands/agent-canvas:1.14.0

Containerd拉取命令

ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openhands/agent-canvas:1.14.0
ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openhands/agent-canvas:1.14.0  ghcr.io/openhands/agent-canvas:1.14.0

Shell快速替换命令

sed -i 's#ghcr.io/openhands/agent-canvas:1.14.0#swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openhands/agent-canvas:1.14.0#' deployment.yaml

Ansible快速分发-Docker

#ansible k8s -m shell -a 'docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openhands/agent-canvas:1.14.0 && docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openhands/agent-canvas:1.14.0  ghcr.io/openhands/agent-canvas:1.14.0'

Ansible快速分发-Containerd

#ansible k8s -m shell -a 'ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openhands/agent-canvas:1.14.0 && ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openhands/agent-canvas:1.14.0  ghcr.io/openhands/agent-canvas:1.14.0'

镜像构建历史


# 2026-08-18 05:43:05  0.00B 配置容器启动时运行的命令
ENTRYPOINT ["tini" "--" "/opt/agent-canvas/entrypoint.sh"]
                        
# 2026-08-18 05:43:05  0.00B 声明容器运行时监听的端口
EXPOSE map[8000/tcp:{}]
                        
# 2026-08-18 05:43:05  0.00B 创建挂载点用于持久化数据或共享数据
VOLUME [/home/openhands/.openhands /projects]
                        
# 2026-08-18 05:43:05  0.00B 指定运行容器时使用的用户
USER openhands
                        
# 2026-08-18 05:43:05  0.00B 执行命令并创建新的镜像层
RUN |7 AUTOMATION_VERSION=1.7.1 AGENT_SERVER_SDK_GIT_REF= OPENHANDS_BUILD_GIT_SHA=c0ba9e6d2b73dca07fe1127b91c1eff719853846 OPENHANDS_BUILD_GIT_REF=refs/tags/v1.14.0 VITE_BASE_PATH=/canvas VITE_POSTHOG_API_KEY=phc_BgzfxKdgsYMLFTmJqt424ZoyVHvKFfrwttLimzdYTKFK AGENT_CANVAS_VERSION=1.14.0 /bin/bash -euo pipefail -c mkdir -p /home/openhands/.openhands/agent-canvas/conversations              /home/openhands/.openhands/agent-canvas/bash_events              /home/openhands/.openhands/automation              /projects &&     chown -R openhands:openhands /home/openhands/.openhands /projects # buildkit
                        
# 2026-08-18 05:43:05  17.13KB 执行命令并创建新的镜像层
RUN |7 AUTOMATION_VERSION=1.7.1 AGENT_SERVER_SDK_GIT_REF= OPENHANDS_BUILD_GIT_SHA=c0ba9e6d2b73dca07fe1127b91c1eff719853846 OPENHANDS_BUILD_GIT_REF=refs/tags/v1.14.0 VITE_BASE_PATH=/canvas VITE_POSTHOG_API_KEY=phc_BgzfxKdgsYMLFTmJqt424ZoyVHvKFfrwttLimzdYTKFK AGENT_CANVAS_VERSION=1.14.0 /bin/bash -euo pipefail -c chmod +x /opt/agent-canvas/entrypoint.sh # buildkit
                        
# 2026-08-18 05:43:05  17.13KB 复制新文件或目录到容器中
COPY docker/entrypoint.sh /opt/agent-canvas/entrypoint.sh # buildkit
                        
# 2026-08-18 05:43:05  404.00B 复制新文件或目录到容器中
COPY /tmp/defaults.env /opt/agent-canvas/defaults.env # buildkit
                        
# 2026-08-18 05:43:05  5.39KB 复制新文件或目录到容器中
COPY tools/ /opt/agent-canvas/tools/ # buildkit
                        
# 2026-08-18 05:43:05  8.56KB 复制新文件或目录到容器中
COPY scripts/runtime-services-info.mjs /opt/agent-canvas/runtime-services-info.mjs # buildkit
                        
# 2026-08-18 05:43:05  7.46KB 复制新文件或目录到容器中
COPY /build/node_modules/totalist /opt/agent-canvas/node_modules/totalist # buildkit
                        
# 2026-08-18 05:43:05  33.01KB 复制新文件或目录到容器中
COPY /build/node_modules/mrmime /opt/agent-canvas/node_modules/mrmime # buildkit
                        
# 2026-08-18 05:43:05  4.82KB 复制新文件或目录到容器中
COPY /build/node_modules/@polka /opt/agent-canvas/node_modules/@polka # buildkit
                        
# 2026-08-18 05:43:05  21.88KB 复制新文件或目录到容器中
COPY /build/node_modules/sirv /opt/agent-canvas/node_modules/sirv # buildkit
                        
# 2026-08-18 05:43:05  59.12KB 复制新文件或目录到容器中
COPY /build/node_modules/httpxy /opt/agent-canvas/node_modules/httpxy # buildkit
                        
# 2026-08-18 05:43:05  8.60KB 复制新文件或目录到容器中
COPY scripts/proxy-utils.mjs /opt/agent-canvas/proxy-utils.mjs # buildkit
                        
# 2026-08-18 05:43:05  22.71KB 复制新文件或目录到容器中
COPY scripts/static-server.mjs /opt/agent-canvas/static-server.mjs # buildkit
                        
# 2026-08-18 05:43:05  7.96MB 复制新文件或目录到容器中
COPY /build/build /opt/agent-canvas/frontend # buildkit
                        
# 2026-08-18 05:42:58  0.00B 执行命令并创建新的镜像层
RUN |7 AUTOMATION_VERSION=1.7.1 AGENT_SERVER_SDK_GIT_REF= OPENHANDS_BUILD_GIT_SHA=c0ba9e6d2b73dca07fe1127b91c1eff719853846 OPENHANDS_BUILD_GIT_REF=refs/tags/v1.14.0 VITE_BASE_PATH=/canvas VITE_POSTHOG_API_KEY=phc_BgzfxKdgsYMLFTmJqt424ZoyVHvKFfrwttLimzdYTKFK AGENT_CANVAS_VERSION=1.14.0 /bin/bash -euo pipefail -c if [ -n "${AGENT_SERVER_SDK_GIT_REF}" ]; then       BASE_GIT_URL="git+https://github.com/OpenHands/software-agent-sdk@${AGENT_SERVER_SDK_GIT_REF}" &&       uv pip install --system --force-reinstall         "${BASE_GIT_URL}#subdirectory=openhands-sdk"         "${BASE_GIT_URL}#subdirectory=openhands-tools"         "${BASE_GIT_URL}#subdirectory=openhands-workspace";     fi # buildkit
                        
# 2026-08-18 05:42:57  366.01MB 执行命令并创建新的镜像层
RUN |7 AUTOMATION_VERSION=1.7.1 AGENT_SERVER_SDK_GIT_REF= OPENHANDS_BUILD_GIT_SHA=c0ba9e6d2b73dca07fe1127b91c1eff719853846 OPENHANDS_BUILD_GIT_REF=refs/tags/v1.14.0 VITE_BASE_PATH=/canvas VITE_POSTHOG_API_KEY=phc_BgzfxKdgsYMLFTmJqt424ZoyVHvKFfrwttLimzdYTKFK AGENT_CANVAS_VERSION=1.14.0 /bin/bash -euo pipefail -c uv pip install --system "openhands-automation==${AUTOMATION_VERSION}" 2>/dev/null     || pip install --no-cache-dir "openhands-automation==${AUTOMATION_VERSION}" # buildkit
                        
# 2026-08-18 05:42:52  18.49MB 执行命令并创建新的镜像层
RUN |7 AUTOMATION_VERSION=1.7.1 AGENT_SERVER_SDK_GIT_REF= OPENHANDS_BUILD_GIT_SHA=c0ba9e6d2b73dca07fe1127b91c1eff719853846 OPENHANDS_BUILD_GIT_REF=refs/tags/v1.14.0 VITE_BASE_PATH=/canvas VITE_POSTHOG_API_KEY=phc_BgzfxKdgsYMLFTmJqt424ZoyVHvKFfrwttLimzdYTKFK AGENT_CANVAS_VERSION=1.14.0 /bin/bash -euo pipefail -c if command -v apt-get >/dev/null 2>&1; then       apt-get update &&       apt-get install -y --no-install-recommends libpq-dev &&       rm -rf /var/lib/apt/lists/*;     fi # buildkit
                        
# 2026-08-18 05:42:52  0.00B 指定运行容器时使用的用户
USER root
                        
# 2026-08-18 05:42:52  0.00B 设置环境变量 VITE_POSTHOG_API_KEY
ENV VITE_POSTHOG_API_KEY=phc_BgzfxKdgsYMLFTmJqt424ZoyVHvKFfrwttLimzdYTKFK
                        
# 2026-08-18 05:42:52  0.00B 设置环境变量 AGENT_CANVAS_BASE_PATH
ENV AGENT_CANVAS_BASE_PATH=/canvas
                        
# 2026-08-18 05:42:52  0.00B 设置环境变量 AGENT_CANVAS_BUILD_GIT_REF
ENV AGENT_CANVAS_BUILD_GIT_REF=refs/tags/v1.14.0
                        
# 2026-08-18 05:42:52  0.00B 设置环境变量 AGENT_CANVAS_BUILD_GIT_SHA
ENV AGENT_CANVAS_BUILD_GIT_SHA=c0ba9e6d2b73dca07fe1127b91c1eff719853846
                        
# 2026-08-18 05:42:52  0.00B 添加元数据标签
LABEL org.opencontainers.image.revision=c0ba9e6d2b73dca07fe1127b91c1eff719853846
                        
# 2026-08-18 05:42:52  0.00B 添加元数据标签
LABEL org.opencontainers.image.version=1.14.0
                        
# 2026-08-18 05:42:52  0.00B 添加元数据标签
LABEL org.opencontainers.image.source=https://github.com/OpenHands/OpenHands
                        
# 2026-08-18 05:42:52  0.00B 添加元数据标签
LABEL org.opencontainers.image.description=All-in-one agent-canvas: Agent Server + Automation + Frontend
                        
# 2026-08-18 05:42:52  0.00B 添加元数据标签
LABEL org.opencontainers.image.title=agent-canvas
                        
# 2026-08-18 05:42:52  0.00B 定义构建参数
ARG AGENT_CANVAS_VERSION=dev
                        
# 2026-08-18 05:42:52  0.00B 定义构建参数
ARG VITE_POSTHOG_API_KEY=
                        
# 2026-08-18 05:42:52  0.00B 定义构建参数
ARG VITE_BASE_PATH=/canvas
                        
# 2026-08-18 05:42:52  0.00B 定义构建参数
ARG OPENHANDS_BUILD_GIT_REF=unknown
                        
# 2026-08-18 05:42:52  0.00B 定义构建参数
ARG OPENHANDS_BUILD_GIT_SHA=unknown
                        
# 2026-08-18 05:42:52  0.00B 定义构建参数
ARG AGENT_SERVER_SDK_GIT_REF=
                        
# 2026-08-18 05:42:52  0.00B 定义构建参数
ARG AUTOMATION_VERSION
                        
# 2026-08-12 22:09:18  0.00B 配置容器启动时运行的命令
ENTRYPOINT ["tini" "--" "/usr/local/bin/openhands-agent-server"]
                        
# 2026-08-12 22:09:18  0.00B 设置环境变量 LD_LIBRARY_PATH
ENV LD_LIBRARY_PATH=/usr/lib/aarch64-linux-gnu:/usr/lib:/usr/lib/x86_64-linux-gnu:
                        
# 2026-08-12 22:09:18  0.00B 执行命令并创建新的镜像层
RUN |1 USERNAME=openhands /bin/bash -euo pipefail -c chmod +x /usr/local/bin/openhands-agent-server # buildkit
                        
# 2026-08-12 22:09:18  112.68MB 复制新文件或目录到容器中
COPY --chown=openhands:openhands /agent-server/dist/openhands-agent-server /usr/local/bin/openhands-agent-server # buildkit
                        
# 2026-08-12 22:06:33  0.00B 定义构建参数
ARG USERNAME
                        
# 2026-08-12 22:06:33  0.00B 声明容器运行时监听的端口
EXPOSE map[8000/tcp:{} 8002/tcp:{}]
                        
# 2026-08-12 22:06:33  0.00B 设置环境变量 LOG_JSON
ENV LOG_JSON=true
                        
# 2026-08-12 22:06:33  0.00B 设置环境变量 OH_ENABLE_VNC
ENV OH_ENABLE_VNC=false
                        
# 2026-08-12 22:06:33  0.00B 设置工作目录为/
WORKDIR /
                        
# 2026-08-12 22:06:33  0.00B 指定运行容器时使用的用户
USER openhands
                        
# 2026-08-12 22:06:33  11.53KB 复制新文件或目录到容器中
COPY --chown=openhands:openhands openhands-agent-server/openhands/agent_server/docker/wallpaper.svg /usr/share/backgrounds/xfce/xfce-shapes.svg # buildkit
                        
# 2026-08-12 22:06:33  1.35MB 执行命令并创建新的镜像层
RUN |3 USERNAME=openhands RELEASE_TAG=openvscode-server-v1.98.2 RELEASE_ORG=gitpod-io /bin/bash -euo pipefail -c chown -R ${USERNAME}:${USERNAME} ${NOVNC_WEB} # buildkit
                        
# 2026-08-12 22:06:33  0.00B 设置环境变量 NOVNC_WEB NOVNC_PORT DISPLAY VNC_GEOMETRY CHROME_BIN PUPPETEER_EXECUTABLE_PATH CHROMIUM_FLAGS
ENV NOVNC_WEB=/usr/share/novnc NOVNC_PORT=8002 DISPLAY=:1 VNC_GEOMETRY=1280x800 CHROME_BIN=/usr/bin/chromium PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium CHROMIUM_FLAGS=--no-sandbox --disable-dev-shm-usage --disable-gpu
                        
# 2026-08-12 22:06:33  912.03MB 执行命令并创建新的镜像层
RUN |3 USERNAME=openhands RELEASE_TAG=openvscode-server-v1.98.2 RELEASE_ORG=gitpod-io /bin/bash -euo pipefail -c set -eux;   apt-get update;   apt-get install -y --no-install-recommends     tigervnc-standalone-server xfce4 dbus-x11 novnc websockify     $(if grep -q "ubuntu" /etc/os-release; then echo "chromium-browser"; else echo "chromium"; fi);   apt-get clean; rm -rf /var/lib/apt/lists/* # buildkit
                        
# 2026-08-12 22:06:00  41.87MB 执行命令并创建新的镜像层
RUN |3 USERNAME=openhands RELEASE_TAG=openvscode-server-v1.98.2 RELEASE_ORG=gitpod-io /bin/bash -euo pipefail -c set -eux;     mkdir -p -m 755 /etc/apt/keyrings;     wget -nv -O /etc/apt/keyrings/githubcli-archive-keyring.gpg         https://cli.github.com/packages/githubcli-archive-keyring.gpg;     chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg;     echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main"         > /etc/apt/sources.list.d/github-cli.list;     apt-get update;     apt-get install -y gh;     apt-get clean;     rm -rf /var/lib/apt/lists/* # buildkit
                        
# 2026-08-12 22:05:56  14.00B 执行命令并创建新的镜像层
RUN |3 USERNAME=openhands RELEASE_TAG=openvscode-server-v1.98.2 RELEASE_ORG=gitpod-io /bin/bash -euo pipefail -c mkdir -p /etc/docker &&     echo '{"mtu": 1450}' > /etc/docker/daemon.json # buildkit
                        
# 2026-08-12 22:05:56  421.66MB 执行命令并创建新的镜像层
RUN |3 USERNAME=openhands RELEASE_TAG=openvscode-server-v1.98.2 RELEASE_ORG=gitpod-io /bin/bash -euo pipefail -c set -eux;     if grep -q "ubuntu" /etc/os-release; then         install -m 0755 -d /etc/apt/keyrings;         curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc;         chmod a+r /etc/apt/keyrings/docker.asc;         echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null;     else         install -m 0755 -d /etc/apt/keyrings;         curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc;         chmod a+r /etc/apt/keyrings/docker.asc;         echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian bookworm stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null;     fi;     apt-get update;     apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin;     apt-get clean;     rm -rf /var/lib/apt/lists/* # buildkit
                        
# 2026-08-12 22:05:45  1.15KB 复制新文件或目录到容器中
COPY --chown=openhands:openhands /agent-server/openhands-agent-server/openhands/agent_server/vscode_extensions /openhands/.openvscode-server/extensions # buildkit
                        
# 2026-08-12 22:05:44  190.33MB 执行命令并创建新的镜像层
RUN |3 USERNAME=openhands RELEASE_TAG=openvscode-server-v1.98.2 RELEASE_ORG=gitpod-io /bin/bash -euo pipefail -c set -eux;     mkdir -p $(dirname ${OPENVSCODE_SERVER_ROOT});         arch=$(uname -m);     if [ "${arch}" = "x86_64" ]; then         arch="x64";     elif [ "${arch}" = "aarch64" ]; then         arch="arm64";     elif [ "${arch}" = "armv7l" ]; then         arch="armhf";     fi;         wget https://github.com/${RELEASE_ORG}/openvscode-server/releases/download/${RELEASE_TAG}/${RELEASE_TAG}-linux-${arch}.tar.gz;     tar -xzf ${RELEASE_TAG}-linux-${arch}.tar.gz;     if [ -d "${OPENVSCODE_SERVER_ROOT}" ]; then rm -rf "${OPENVSCODE_SERVER_ROOT}"; fi;     mv ${RELEASE_TAG}-linux-${arch} ${OPENVSCODE_SERVER_ROOT};     cp ${OPENVSCODE_SERVER_ROOT}/bin/remote-cli/openvscode-server ${OPENVSCODE_SERVER_ROOT}/bin/remote-cli/code;     rm -f ${RELEASE_TAG}-linux-${arch}.tar.gz;         chown -R ${USERNAME}:${USERNAME} ${OPENVSCODE_SERVER_ROOT} # buildkit
                        
# 2026-08-12 22:05:41  0.00B 定义构建参数
ARG RELEASE_ORG=gitpod-io
                        
# 2026-08-12 22:05:41  0.00B 定义构建参数
ARG RELEASE_TAG=openvscode-server-v1.98.2
                        
# 2026-08-12 22:05:41  0.00B 设置环境变量 EDITOR VISUAL GIT_EDITOR OPENVSCODE_SERVER_ROOT
ENV EDITOR=code VISUAL=code GIT_EDITOR=code --wait OPENVSCODE_SERVER_ROOT=/openhands/.openvscode-server
                        
# 2026-08-12 22:05:41  0.00B 指定运行容器时使用的用户
USER root
                        
# 2026-08-12 22:05:41  0.00B 定义构建参数
ARG USERNAME
                        
# 2026-08-12 22:05:41  0.00B 声明容器运行时监听的端口
EXPOSE map[8000/tcp:{}]
                        
# 2026-08-12 22:05:41  0.00B 设置环境变量 LOG_JSON
ENV LOG_JSON=true
                        
# 2026-08-12 22:05:41  0.00B 设置环境变量 OH_ENABLE_VNC
ENV OH_ENABLE_VNC=false
                        
# 2026-08-12 22:05:41  0.00B 设置环境变量 LANG
ENV LANG=C.UTF-8
                        
# 2026-08-12 22:05:41  0.00B 设置环境变量 LC_ALL
ENV LC_ALL=C.UTF-8
                        
# 2026-08-12 22:05:41  0.00B 设置工作目录为/
WORKDIR /
                        
# 2026-08-12 22:05:41  0.00B 指定运行容器时使用的用户
USER openhands
                        
# 2026-08-12 22:05:41  58.39MB 复制新文件或目录到容器中
COPY /uv /uvx /bin/ # buildkit
                        
# 2026-08-12 22:05:41  49.00B 执行命令并创建新的镜像层
RUN |6 USERNAME=openhands UID=10001 GID=10001 PORT=8000 OPENHANDS_BUILD_GIT_SHA=167c1f924ac8a8acbeb0432bf9b1fcf77d5c2497 OPENHANDS_BUILD_GIT_REF=refs/tags/v1.42.1 /bin/bash -euo pipefail -c mkdir -p /etc/claude-code &&     echo '{"permissions":{"allow":["Edit","Read","Bash"]}}' > /etc/claude-code/managed-settings.json # buildkit
                        
# 2026-08-12 22:05:40  1.39GB 执行命令并创建新的镜像层
RUN |6 USERNAME=openhands UID=10001 GID=10001 PORT=8000 OPENHANDS_BUILD_GIT_SHA=167c1f924ac8a8acbeb0432bf9b1fcf77d5c2497 OPENHANDS_BUILD_GIT_REF=refs/tags/v1.42.1 /bin/bash -euo pipefail -c set -ux;     mkdir -p "$ACP_NODE_DIR";     ARCH=$(uname -m);     NARCH="";     NODE_SHA256="";     case "$ARCH" in       x86_64|amd64) NARCH=x64; NODE_SHA256=69b09dba5c8dcb05c4e4273a4340db1005abeafe3927efda2bc5b249e80437ec;;       aarch64|arm64) NARCH=arm64; NODE_SHA256=08bfbf538bad0e8cbb0269f0173cca28d705874a67a22f60b57d99dc99e30050;;     esac;     NODE_TARBALL="";     if [ -z "$NARCH" ]; then       echo "Skipping ACP Node install: unsupported architecture '$ARCH'" >&2;     else       NODE_TARBALL="/tmp/node-v22.14.0-linux-${NARCH}.tar.xz";       if curl -fsSL --retry 5 --retry-delay 2 --retry-connrefused "https://nodejs.org/dist/v22.14.0/node-v22.14.0-linux-${NARCH}.tar.xz" -o "$NODE_TARBALL"          && echo "$NODE_SHA256  $NODE_TARBALL" | sha256sum -c -          && tar -xJ --strip-components=1 -C "$ACP_NODE_DIR" -f "$NODE_TARBALL"          && "$ACP_NODE_DIR/bin/node" --version; then         PATH="$ACP_NODE_DIR/bin:$PATH";         if "$ACP_NODE_DIR/bin/npm" install -g             @agentclientprotocol/claude-agent-acp@0.63.0             @agentclientprotocol/codex-acp@1.1.7             @google/gemini-cli@0.46.0; then           for bin in claude-agent-acp codex-acp gemini; do             if [ -e "$ACP_NODE_DIR/bin/$bin" ]; then               printf '#!/bin/sh\nPATH="%s/bin:$PATH" exec "%s/bin/%s" "$@"\n'                 "$ACP_NODE_DIR" "$ACP_NODE_DIR" "$bin"                 > /usr/local/bin/"$bin";               chmod +x /usr/local/bin/"$bin";             fi;           done;         else           echo "Warning: ACP npm install failed; ACP agents will not be available on this image" >&2;           rm -rf "$ACP_NODE_DIR"/*;         fi;       else         echo "Warning: ACP Node 22 runtime is not compatible with this base image (likely older glibc or musl libc); ACP agents will not be available" >&2;         rm -rf "$ACP_NODE_DIR"/*;       fi;     fi;     rm -f "$NODE_TARBALL" 2>/dev/null || true # buildkit
                        
# 2026-08-12 22:05:18  0.00B 设置环境变量 ACP_NODE_DIR
ENV ACP_NODE_DIR=/opt/acp-node
                        
# 2026-08-12 22:05:18  352.18MB 执行命令并创建新的镜像层
RUN |6 USERNAME=openhands UID=10001 GID=10001 PORT=8000 OPENHANDS_BUILD_GIT_SHA=167c1f924ac8a8acbeb0432bf9b1fcf77d5c2497 OPENHANDS_BUILD_GIT_REF=refs/tags/v1.42.1 /bin/bash -euo pipefail -c set -eux;     if command -v apt-get >/dev/null 2>&1; then         apt-get -o Acquire::Retries=5 update;         apt-get -o Acquire::Retries=5 install -y --no-install-recommends             bash ca-certificates curl wget sudo apt-utils git jq tmux tar             build-essential coreutils util-linux procps findutils grep sed             tini apt-transport-https gnupg lsb-release xz-utils;         rm -rf /var/lib/apt/lists/*;     elif command -v apk >/dev/null 2>&1; then         apk add --no-cache             bash ca-certificates curl wget sudo git jq tmux tar build-base             coreutils util-linux procps findutils grep sed tini gnupg shadow xz;     elif command -v microdnf >/dev/null 2>&1; then         microdnf install -y             bash ca-certificates curl wget sudo git jq tmux tar make gcc gcc-c++             coreutils util-linux procps-ng findutils grep sed shadow-utils             gnupg2 xz;         microdnf clean all;     elif command -v dnf >/dev/null 2>&1; then         dnf install -y             bash ca-certificates curl wget sudo git jq tmux tar make gcc gcc-c++             coreutils util-linux procps-ng findutils grep sed shadow-utils             gnupg2 xz;         dnf clean all;     elif command -v yum >/dev/null 2>&1; then         yum install -y             bash ca-certificates curl wget sudo git jq tmux tar make gcc gcc-c++             coreutils util-linux procps-ng findutils grep sed shadow-utils             gnupg2 xz;         yum clean all;     elif command -v zypper >/dev/null 2>&1; then         zypper --non-interactive install --no-recommends             bash ca-certificates curl wget sudo git jq tmux tar make gcc gcc-c++             coreutils util-linux procps findutils grep sed shadow gpg2 xz;         zypper clean --all;     else         echo "Unsupported base image: no known package manager found" >&2;         exit 1;     fi;     grep -Eq "^[^:]*:[^:]*:${GID}:" /etc/group || groupadd -g "${GID}" "${USERNAME}";     grep -Eq "^${USERNAME}:" /etc/passwd ||         useradd -m -u "${UID}" -g "${GID}" -s /bin/bash "${USERNAME}";     usermod -aG sudo "${USERNAME}" 2>/dev/null || true;     echo "${USERNAME} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers;     mkdir -p /workspace/project;     chown -R "${USERNAME}:${USERNAME}" /workspace # buildkit
                        
# 2026-08-12 22:05:18  0.00B 设置环境变量 OPENHANDS_BUILD_GIT_REF
ENV OPENHANDS_BUILD_GIT_REF=refs/tags/v1.42.1
                        
# 2026-08-12 22:05:18  0.00B 设置环境变量 OPENHANDS_BUILD_GIT_SHA
ENV OPENHANDS_BUILD_GIT_SHA=167c1f924ac8a8acbeb0432bf9b1fcf77d5c2497
                        
# 2026-08-12 22:05:18  0.00B 定义构建参数
ARG OPENHANDS_BUILD_GIT_REF=unknown
                        
# 2026-08-12 22:05:18  0.00B 定义构建参数
ARG OPENHANDS_BUILD_GIT_SHA=unknown
                        
# 2026-08-12 22:05:18  0.00B 定义构建参数
ARG USERNAME UID GID PORT
                        
# 2026-07-30 00:51:16  196.78MB 执行命令并创建新的镜像层
RUN /bin/bash -euo pipefail -c pip install --no-cache-dir -U pip pipenv uv &&   curl -fsSL --compressed https://install.python-poetry.org | python - # buildkit
                        
# 2026-07-30 00:51:02  2.37MB 执行命令并创建新的镜像层
RUN /bin/bash -euo pipefail -c npm install -g corepack && corepack enable yarn # buildkit
                        
# 2026-07-30 00:51:01  196.83MB 执行命令并创建新的镜像层
RUN /bin/bash -euo pipefail -c NODE_VERSION="v22.23.2"   ARCH= && dpkgArch="$(dpkg --print-architecture)"   && case "${dpkgArch##*-}" in     amd64) ARCH='x64';;     arm64) ARCH='arm64';;     *) echo "unsupported architecture"; exit 1 ;;   esac   && for key in $(curl -sL https://raw.githubusercontent.com/nodejs/docker-node/HEAD/keys/node.keys); do     gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" ||     gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ;   done   && curl -fsSLO --compressed "https://nodejs.org/dist/$NODE_VERSION/node-$NODE_VERSION-linux-$ARCH.tar.xz"   && curl -fsSLO --compressed "https://nodejs.org/dist/$NODE_VERSION/SHASUMS256.txt.asc"   && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc   && grep " node-$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c -   && tar -xJf "node-$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner   && rm "node-$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt   && ln -s /usr/local/bin/node /usr/local/bin/nodejs # buildkit
                        
# 2026-07-30 00:50:53  20.06MB 执行命令并创建新的镜像层
RUN /bin/bash -euo pipefail -c apt-get update && apt-get install --no-install-recommends -yqq libatomic1 curl gnupg2 xz-utils &&   apt-get upgrade -yqq &&   rm -rf /var/lib/apt/lists/* # buildkit
                        
# 2026-07-30 00:50:47  0.00B 设置环境变量 POETRY_HOME
ENV POETRY_HOME=/usr/local
                        
# 2026-07-30 00:50:47  8.88KB 执行命令并创建新的镜像层
RUN /bin/bash -euo pipefail -c groupadd --gid 1000 pn && useradd --uid 1000 --gid pn --shell /bin/bash --create-home pn # buildkit
                        
# 2026-07-30 00:50:47  0.00B 
SHELL [/bin/bash -euo pipefail -c]
                        
# 2026-07-30 00:50:47  0.00B 添加元数据标签
LABEL org.opencontainers.image.authors=Nikolai R Kristiansen <nikolaik@gmail.com>
                        
# 2026-07-14 10:11:07  0.00B 设置默认要执行的命令
CMD ["python3"]
                        
# 2026-07-14 10:11:07  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-07-14 10:11:06  35.48MB 执行命令并创建新的镜像层
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"; 	arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; 	case "$arch" in 		amd64|arm64) 			EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; 			;; 		i386) 			;; 		*) 			EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; 			;; 	esac; 	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 --version # buildkit
                        
# 2026-07-14 10:00:10  0.00B 设置环境变量 PYTHON_SHA256
ENV PYTHON_SHA256=639e43243c620a308f968213df9e00f2f8f62332f7adbaa7a7eeb9783057c690
                        
# 2026-07-14 10:00:10  0.00B 设置环境变量 PYTHON_VERSION
ENV PYTHON_VERSION=3.13.14
                        
# 2026-07-14 10:00:10  0.00B 设置环境变量 GPG_KEY
ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
                        
# 2026-07-14 10:00:10  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-07-14 10:00:10  0.00B 设置环境变量 PATH
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
                        
# 2026-07-13 08:00:00  78.62MB 
# debian.sh --arch 'amd64' out/ 'trixie' '@1783900800'
                        
                    

镜像信息

{
    "Id": "sha256:8afc9b610492a1b7dcf7f4a80c5ef21b63196e2e9e01fa2ab87d9fb5c3ca5e92",
    "RepoTags": [
        "ghcr.io/openhands/agent-canvas:1.14.0",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openhands/agent-canvas:1.14.0"
    ],
    "RepoDigests": [
        "ghcr.io/openhands/agent-canvas@sha256:fe0891ff55113a2c837de070c775055feeb149f3dec98149565ae1e8617c48af",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openhands/agent-canvas@sha256:17ee1f208cb380fc55e05a5661ef2831ec87000f7df63ff970767a5bfbe048b2"
    ],
    "Parent": "",
    "Comment": "buildkit.dockerfile.v0",
    "Created": "2026-08-17T21:43:05.468285737Z",
    "Container": "",
    "ContainerConfig": null,
    "DockerVersion": "",
    "Author": "",
    "Config": {
        "Hostname": "",
        "Domainname": "",
        "User": "openhands",
        "AttachStdin": false,
        "AttachStdout": false,
        "AttachStderr": false,
        "ExposedPorts": {
            "8000/tcp": {},
            "8002/tcp": {}
        },
        "Tty": false,
        "OpenStdin": false,
        "StdinOnce": false,
        "Env": [
            "PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305",
            "PYTHON_VERSION=3.13.14",
            "PYTHON_SHA256=639e43243c620a308f968213df9e00f2f8f62332f7adbaa7a7eeb9783057c690",
            "POETRY_HOME=/usr/local",
            "OPENHANDS_BUILD_GIT_SHA=167c1f924ac8a8acbeb0432bf9b1fcf77d5c2497",
            "OPENHANDS_BUILD_GIT_REF=refs/tags/v1.42.1",
            "ACP_NODE_DIR=/opt/acp-node",
            "LC_ALL=C.UTF-8",
            "LANG=C.UTF-8",
            "OH_ENABLE_VNC=false",
            "LOG_JSON=true",
            "EDITOR=code",
            "VISUAL=code",
            "GIT_EDITOR=code --wait",
            "OPENVSCODE_SERVER_ROOT=/openhands/.openvscode-server",
            "NOVNC_WEB=/usr/share/novnc",
            "NOVNC_PORT=8002",
            "DISPLAY=:1",
            "VNC_GEOMETRY=1280x800",
            "CHROME_BIN=/usr/bin/chromium",
            "PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium",
            "CHROMIUM_FLAGS=--no-sandbox --disable-dev-shm-usage --disable-gpu",
            "LD_LIBRARY_PATH=/usr/lib/aarch64-linux-gnu:/usr/lib:/usr/lib/x86_64-linux-gnu:",
            "AGENT_CANVAS_BUILD_GIT_SHA=c0ba9e6d2b73dca07fe1127b91c1eff719853846",
            "AGENT_CANVAS_BUILD_GIT_REF=refs/tags/v1.14.0",
            "AGENT_CANVAS_BASE_PATH=/canvas",
            "VITE_POSTHOG_API_KEY=phc_BgzfxKdgsYMLFTmJqt424ZoyVHvKFfrwttLimzdYTKFK"
        ],
        "Cmd": null,
        "Image": "",
        "Volumes": {
            "/home/openhands/.openhands": {},
            "/projects": {}
        },
        "WorkingDir": "/",
        "Entrypoint": [
            "tini",
            "--",
            "/opt/agent-canvas/entrypoint.sh"
        ],
        "OnBuild": null,
        "Labels": {
            "org.opencontainers.image.authors": "Nikolai R Kristiansen \u003cnikolaik@gmail.com\u003e",
            "org.opencontainers.image.description": "All-in-one agent-canvas: Agent Server + Automation + Frontend",
            "org.opencontainers.image.revision": "c0ba9e6d2b73dca07fe1127b91c1eff719853846",
            "org.opencontainers.image.source": "https://github.com/OpenHands/OpenHands",
            "org.opencontainers.image.title": "agent-canvas",
            "org.opencontainers.image.version": "1.14.0"
        },
        "Shell": [
            "/bin/bash",
            "-euo",
            "pipefail",
            "-c"
        ]
    },
    "Architecture": "amd64",
    "Os": "linux",
    "Size": 4406159732,
    "GraphDriver": {
        "Data": {
            "LowerDir": "/var/lib/docker/overlay2/5abf56eb54eb27d85622c893afd91c2b9bf54a706ff902a08074e5af0644ed43/diff:/var/lib/docker/overlay2/2db895aac06feb078320068e9df02db77e448bb7d39e35a56a334d4f579f0129/diff:/var/lib/docker/overlay2/d35d0df851dbbc4a44617c7a16ec73242cc9cc1a4aa2df1ce58d44e3bbcd74d8/diff:/var/lib/docker/overlay2/29769c12b93f70da917d3028e841e533b8f0664d8d0da3431c8fc5f7b660b546/diff:/var/lib/docker/overlay2/1c554bc3c33ca4f06ed87a3b6ac4edcb544545e605ef9902483914600632f63d/diff:/var/lib/docker/overlay2/4ba429dbf9b3a2fb581aa6577254be05c7f356d3a8cd7c00ce91b09eedf6bf0c/diff:/var/lib/docker/overlay2/9f32dac01f84f43f67b32f806c8a4be94184ea7e96863d8c0f5cf49cb9287f24/diff:/var/lib/docker/overlay2/5990aaecae73da6b83751ede7d4c60809f4963dd94189b772723e011d77aec87/diff:/var/lib/docker/overlay2/1289075c712d421dd3acce553f0dadceb021a7c7295613606391cde2dea0d739/diff:/var/lib/docker/overlay2/a57b04838a8f2b6397665b256a900df16d4cee601360839a88a8f5b1f8b8c82a/diff:/var/lib/docker/overlay2/95e9ae5da9411c9214e86408d1caaa9d05b8070a2ce0785a9317f2ba25388da3/diff:/var/lib/docker/overlay2/dea936e4751abff9d8a4cef6bf93e8adfcdbabfe790d9a02dd23695a737aed14/diff:/var/lib/docker/overlay2/6356e1b85d1ece99f5e6ca09e64b537eee1534bcb7cba185c16173af05b3300e/diff:/var/lib/docker/overlay2/bf1f2f770abd06b730393432e1d70d731196d761daafb5f7281359b05aa30d37/diff:/var/lib/docker/overlay2/033779ce29a47a4f4c8e2eebe016b469c56c3ec166223470216094fab49220ca/diff:/var/lib/docker/overlay2/733cf1c77a5ed21ef8ea9c9944b3fe6199e014eb8cba90de549d46dc435f7229/diff:/var/lib/docker/overlay2/d911c733042bedbd58fd6e27d27d8e7b4d2ba24e525f8db77c8881dca95415f2/diff:/var/lib/docker/overlay2/b3757512a446b89915963e220f3477c70f7cba89e2692f759def06350133a17f/diff:/var/lib/docker/overlay2/ea9de3bd2f04e8a26000b713090897541f4b907631cb540ba3731f0c1d760723/diff:/var/lib/docker/overlay2/e94fc8b6bbbc92723618f7541782bdbf043b4513003eb2ea5755f670bb859dd7/diff:/var/lib/docker/overlay2/8d1f2062ee1f443c0cc65db23e647f5131f34e181ebb0d564a5963555b34ad7b/diff:/var/lib/docker/overlay2/dd659ad12ee8afc78ec29e3cb190b78c23e7495068585ed64491c2ba81a3a224/diff:/var/lib/docker/overlay2/dc0569a97368ecda675cc33d7222d9ecea7a26d8ace710d9c6a3b8c5df2854ec/diff:/var/lib/docker/overlay2/196c1e55f6f26afeeb35f36b34653c7dbe45fb2e4f3d54d26139cea0e4d47eaa/diff:/var/lib/docker/overlay2/2b9d1dd584500c97dbe7a21dc0968ccdc024a14fabefbc767763ff53aad7a2e7/diff:/var/lib/docker/overlay2/3edf98544ad53a20398044124dd187000cb43b00fb9a8ca1b670cbfb26fa5649/diff:/var/lib/docker/overlay2/4874296a9f6bb62357561f61b8f97fdf18702c3ac2dc2cfd5d86235c18c4dda1/diff:/var/lib/docker/overlay2/e93006082196c39cacc7d9f590c4870b4d2d6f834a4d8dde58db6ce0aee6f738/diff:/var/lib/docker/overlay2/a9e2f58e773e096b30124946086b644c8ad8e619fe07dc9cc2ff1bb70f6b920d/diff:/var/lib/docker/overlay2/206199a3d84064660ba0c2c68b91c943591d2020f92fcc1aa5df51c58d4dfed3/diff:/var/lib/docker/overlay2/1e566eb8871c681a215a89764bfdf78d0d91a9439f3bf327630aab1f5d26ea7b/diff:/var/lib/docker/overlay2/d41253ab5bbbc560a444a891bba905f56325446665f9bc8d26127bb7c76f651f/diff:/var/lib/docker/overlay2/0905900c22cbfd2a4b0bf27ee50e16650a53140c64c186596b459ce62e3c6ef8/diff:/var/lib/docker/overlay2/f7ff084115087dce35037a576275e7f722e27e5463a3889e9386190a1cdf67a2/diff:/var/lib/docker/overlay2/fd549121ac40b4871c5d48c8d969f3dd7a2e42de2fbd72bd25c864944c42c53d/diff:/var/lib/docker/overlay2/58d6eae774330b70948d953857587170f3cfccf2c69afedc980996f8f0a26687/diff:/var/lib/docker/overlay2/4b821558455700d784e75b04c4e76dea61ac887c369a72a00c66cc70a946da77/diff:/var/lib/docker/overlay2/373824bebbe9f5709640427b60c7260dfbf20dcbd92babe51f094300a2c5d54b/diff:/var/lib/docker/overlay2/f24ade665d94e6f8ff29f06c32243f0eb4e1ac8da4feddb1b4ad6020791e6a90/diff",
            "MergedDir": "/var/lib/docker/overlay2/2b93308bd36fba3b305279cda3a3fb2bbc6fa7cd2649994fae9e78ebee1facef/merged",
            "UpperDir": "/var/lib/docker/overlay2/2b93308bd36fba3b305279cda3a3fb2bbc6fa7cd2649994fae9e78ebee1facef/diff",
            "WorkDir": "/var/lib/docker/overlay2/2b93308bd36fba3b305279cda3a3fb2bbc6fa7cd2649994fae9e78ebee1facef/work"
        },
        "Name": "overlay2"
    },
    "RootFS": {
        "Type": "layers",
        "Layers": [
            "sha256:f2ec4de84f559f5c7be4233b589cdbdbb5507807e05621b77320edd55a1f2a0f",
            "sha256:5b21fa92fbc32b17b9dcc0b309e2f3a61dadd435438f81612e72350dd36e2d60",
            "sha256:6172d147f215473d048503aa932b65dc0c16e79ab0af6f9b5ec0ef83fd9d026e",
            "sha256:f60c57f8bc619df480314a980724b4443dd4b2bc49451e9ee2880481c1b834fa",
            "sha256:483804f5d1e0471ee1cca29b2251343a08cf1e6a0f1329c17b816aa5bab1be28",
            "sha256:2e5e378b6d6961f590224f67f1932de7bdcb3d379273589a9f2d81f9b59ef09d",
            "sha256:e24655058e794a0849c90952d7062a1152a849b3ee1bc4d77b813b7b1bdec01f",
            "sha256:3fef013270980004b952db6c5972a50330df8851fb998c2cadb36badd853b651",
            "sha256:f356ded1ce0cc566e6e2be1821cd0a2a0ba8c6078c922767f1a4e40d85951d53",
            "sha256:9abbe6c7c619596277a462793814abf07d00b6cdf8f179079e60ea7d4133b47d",
            "sha256:11e69770222c414c53f8dbbf05adf0b934d82d4cb4f648ab81271e0dce710fec",
            "sha256:49ba3a9d4c68840a9bdb60d579c36ae599ad1cf47e1c144b68894e6f7050094e",
            "sha256:cc5d81cf11c370e384dc655581b8cd8bc4faf6398e21ca4d6c3f431e8f4a48ab",
            "sha256:364764774e73a42a6ec762961fef6bfdfd4d35b5f677e7a227e36a6364e51a86",
            "sha256:8538b9d48a8a2601f6c31d686c35e6d24ddc0d1f96653e475ea10cebdb2ba15d",
            "sha256:97a144518d9730558c64bb48b5290cc93276013f7a52cd299609c9282932d543",
            "sha256:c25704f9ce3bda502e332dcdc0a4e8fb56b965cd69606d3eff73db4f48abd667",
            "sha256:71b49064be833068905ca25324fc919380d21c4fa4d7ecaf8eed57e819035db1",
            "sha256:17de899a4a18c0e7f3edcc626395b6527c86f07dddc80f2b4c99d75685f155a5",
            "sha256:05d26beb732af72fa5a8c8439c10d795d07b24bfed7c537b6e4b1b3196db3b0a",
            "sha256:b7a23a516e212f0ca23585e8d2fc0939ce84fb98f00a7d0e6202853958265e36",
            "sha256:507337ba0603d11daf59035ae3d1318c551514413a937f618c11d3a1ecb38b50",
            "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
            "sha256:113e5a13f37f37ae2d6dd267d47fe17e95e29de133c347d4a6be00971a6a7c3f",
            "sha256:0a0cc61a310105117f143fc1f23943590ec437c08f977512ec91592c19c32857",
            "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
            "sha256:b1598bc4e3f5df816315b55e0a2f41590a92e706f4f556bab47e6a4bcf0502cf",
            "sha256:6c5c58ec3fc7cd226af71b2d4bb82f6ec1eaf9da6ebb15e7c27b74366c3fb8ea",
            "sha256:a0a80ae817399fd83fca27089809bea0cc4460ba8951452587125dd1173b94ac",
            "sha256:215679600da8cb923b9721dac03d52faebe47bb99031d1b6bc9318283a913697",
            "sha256:56209259dc176cfc23ac068425fc7b26156d09375dfab45a9c816cee5cb324e5",
            "sha256:b970ece092f1f512da1a91d25e29e00f2186e6e2c5750f64cdc99cb9f66b51f6",
            "sha256:672f3265ca2adfe4cef1e97dc2bdf6bc7e5c90a93cb014114afbb7eef09aac4e",
            "sha256:8ae547e1b1f7fb3223078bb8b39529e1cb15de6d2bd0b07250962ecebf8c8f21",
            "sha256:efc8c0d31f20b21437cba1f5c4fe5fe234d12a2cdc4b94e2070ca11e85c4758b",
            "sha256:6565835a73f91c39120c49c4fc0a9e0f923db695951707a9cfca88c9280429bf",
            "sha256:fd57cb1c101352cddcb9ad1e8b0ab5039353547a12e59a96037cc532d405c9f1",
            "sha256:414faa9c565c09ffe6e1ee57021d700fb100d311b977a33f8757dce1ccaca2f0",
            "sha256:eb67f417af2b0de87c7ecbe95295d7426037ab6e1036963d4c9820dfa89e44bf",
            "sha256:64b7b0a08457f88cdb23c76f54b201c9fbd74bd7bf2ceac16cf088fab2792e25"
        ]
    },
    "Metadata": {
        "LastTagTime": "2026-08-21T14:52:42.648442353+08:00"
    }
}

更多版本

ghcr.io/openhands/agent-canvas:1.12.0

linux/amd64 ghcr.io4.36GB2026-08-11 10:39
98

ghcr.io/openhands/agent-canvas:1.14.0

linux/amd64 ghcr.io4.41GB2026-08-21 14:54
14
检测到您正在使用广告拦截插件,本站为公益站点,依赖广告维持运转 🙏 查看如何关闭 ×