logo
ghcr.io/openhands/agent-canvas:1.35.0
linux/amd64 ghcr.io ymyw 贡献

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

21
浏览次数
4.04GB
镜像大小
国内镜像
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openhands/agent-canvas:1.35.0
源镜像
ghcr.io/openhands/agent-canvas:1.35.0
镜像ID
sha256:e4b0c0020539961161a6bd49a39fa45acf6fa38a814689c71466eb0286fd1156
镜像 TAG
1.35.0
镜像大小
4.04GB
平台架构
linux/amd64
镜像源
ghcr.io
CMD
启动入口
tini -- /opt/agent-canvas/entrypoint.sh
工作目录
/
OS/平台
linux/amd64
镜像创建
2026-11-03T18:49:05.729688797Z
同步时间
2026-11-05 09:35
浏览量
21 次
贡献者
avatar ymyw
🔌 开放端口 1
8000/tcp
📁 目录挂载 2
 /home/openhands/.openhands  /projects
⚙️ 环境变量 21
KeyValue
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 0
OH_ENABLE_VSCODE=true 1
OPENHANDS_BUILD_GIT_SHA=ccae18cb897bef7960f210aa3f380b577a84be7c 2
OPENHANDS_BUILD_GIT_REF=refs/tags/v1.59.0 3
ACP_NODE_DIR=/acp-node 4
LC_ALL=C.UTF-8 5
LANG=C.UTF-8 6
LOG_JSON=true 7
OH_ACP_SKILL_SOURCING=openhands_managed 8
EDITOR=code 9
VISUAL=code 10
GIT_EDITOR=code --wait 11
OPENVSCODE_SERVER_ROOT=/openhands/.openvscode-server 12
CHROME_BIN=/usr/bin/chromium 13
PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium 14
CHROMIUM_FLAGS=--no-sandbox --disable-dev-shm-usage --disable-gpu 15
LD_LIBRARY_PATH=/usr/lib/aarch64-linux-gnu:/usr/lib:/usr/lib/x86_64-linux-gnu: 16
AGENT_CANVAS_BUILD_GIT_SHA=934612b3b6cee05d3a4400b98b48a9c69215401d 17
AGENT_CANVAS_BUILD_GIT_REF=refs/tags/v1.35.0 18
AGENT_CANVAS_BASE_PATH=/canvas 19
VITE_POSTHOG_API_KEY=phc_BgzfxKdgsYMLFTmJqt424ZoyVHvKFfrwttLimzdYTKFK 20
🏷️ 镜像标签 5
KeyValue
All-in-one agent-canvas: Agent Server + Automation + Frontend org.opencontainers.image.description
934612b3b6cee05d3a4400b98b48a9c69215401d org.opencontainers.image.revision
https://github.com/OpenHands/OpenHands org.opencontainers.image.source
agent-canvas org.opencontainers.image.title
1.35.0 org.opencontainers.image.version

Docker拉取命令

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

Containerd拉取命令

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

Shell快速替换命令

sed -i 's#ghcr.io/openhands/agent-canvas:1.35.0#swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openhands/agent-canvas:1.35.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.35.0 && docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openhands/agent-canvas:1.35.0  ghcr.io/openhands/agent-canvas:1.35.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.35.0 && ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openhands/agent-canvas:1.35.0  ghcr.io/openhands/agent-canvas:1.35.0'

镜像构建历史


# 2026-11-04 02:49:05  0.00B 配置容器启动时运行的命令
ENTRYPOINT ["tini" "--" "/opt/agent-canvas/entrypoint.sh"]
                        
# 2026-11-04 02:49:05  0.00B 声明容器运行时监听的端口
EXPOSE map[8000/tcp:{}]
                        
# 2026-11-04 02:49:05  0.00B 创建挂载点用于持久化数据或共享数据
VOLUME [/home/openhands/.openhands /projects]
                        
# 2026-11-04 02:49:05  0.00B 指定运行容器时使用的用户
USER openhands
                        
# 2026-11-04 02:49:05  0.00B 执行命令并创建新的镜像层
RUN |9 AUTOMATION_VERSION=1.26.1 AGENT_SERVER_VERSION=1.59.0 AGENT_SERVER_SDK_GIT_REF= OPENHANDS_BUILD_GIT_SHA=934612b3b6cee05d3a4400b98b48a9c69215401d OPENHANDS_BUILD_GIT_REF=refs/tags/v1.35.0 VITE_BASE_PATH=/canvas VITE_POSTHOG_API_KEY=phc_BgzfxKdgsYMLFTmJqt424ZoyVHvKFfrwttLimzdYTKFK AGENT_CANVAS_VERSION=1.35.0 DEBIAN_SNAPSHOT=20260930T000000Z /bin/sh -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-11-04 02:49:05  35.22KB 执行命令并创建新的镜像层
RUN |9 AUTOMATION_VERSION=1.26.1 AGENT_SERVER_VERSION=1.59.0 AGENT_SERVER_SDK_GIT_REF= OPENHANDS_BUILD_GIT_SHA=934612b3b6cee05d3a4400b98b48a9c69215401d OPENHANDS_BUILD_GIT_REF=refs/tags/v1.35.0 VITE_BASE_PATH=/canvas VITE_POSTHOG_API_KEY=phc_BgzfxKdgsYMLFTmJqt424ZoyVHvKFfrwttLimzdYTKFK AGENT_CANVAS_VERSION=1.35.0 DEBIAN_SNAPSHOT=20260930T000000Z /bin/sh -c chmod +x /opt/agent-canvas/entrypoint.sh # buildkit
                        
# 2026-11-04 02:49:05  35.22KB 复制新文件或目录到容器中
COPY docker/entrypoint.sh /opt/agent-canvas/entrypoint.sh # buildkit
                        
# 2026-11-04 02:49:05  460.00B 复制新文件或目录到容器中
COPY /tmp/defaults.env /opt/agent-canvas/defaults.env # buildkit
                        
# 2026-11-04 02:49:05  6.49KB 复制新文件或目录到容器中
COPY tools/ /opt/agent-canvas/tools/ # buildkit
                        
# 2026-11-04 02:49:05  8.60KB 复制新文件或目录到容器中
COPY scripts/runtime-services-info.mjs /opt/agent-canvas/runtime-services-info.mjs # buildkit
                        
# 2026-11-04 02:49:05  6.63MB 复制新文件或目录到容器中
COPY /build/node_modules/@openhands/extensions /opt/agent-canvas/node_modules/@openhands/extensions # buildkit
                        
# 2026-11-04 02:49:05  7.46KB 复制新文件或目录到容器中
COPY /build/node_modules/totalist /opt/agent-canvas/node_modules/totalist # buildkit
                        
# 2026-11-04 02:49:05  33.01KB 复制新文件或目录到容器中
COPY /build/node_modules/mrmime /opt/agent-canvas/node_modules/mrmime # buildkit
                        
# 2026-11-04 02:49:05  4.82KB 复制新文件或目录到容器中
COPY /build/node_modules/@polka /opt/agent-canvas/node_modules/@polka # buildkit
                        
# 2026-11-04 02:49:05  21.88KB 复制新文件或目录到容器中
COPY /build/node_modules/sirv /opt/agent-canvas/node_modules/sirv # buildkit
                        
# 2026-11-04 02:49:05  60.93KB 复制新文件或目录到容器中
COPY /build/node_modules/httpxy /opt/agent-canvas/node_modules/httpxy # buildkit
                        
# 2026-11-04 02:49:05  151.41KB 复制新文件或目录到容器中
COPY /build/node_modules/ws /opt/agent-canvas/node_modules/ws # buildkit
                        
# 2026-11-04 02:49:05  8.97KB 复制新文件或目录到容器中
COPY scripts/tunnel-registry.mjs /opt/agent-canvas/tunnel-registry.mjs # buildkit
                        
# 2026-11-04 02:49:05  10.17KB 复制新文件或目录到容器中
COPY scripts/tunnel-client.mjs /opt/agent-canvas/tunnel-client.mjs # buildkit
                        
# 2026-11-04 02:49:05  3.18KB 复制新文件或目录到容器中
COPY scripts/mars-session.mjs /opt/agent-canvas/mars-session.mjs # buildkit
                        
# 2026-11-04 02:49:05  8.66KB 复制新文件或目录到容器中
COPY scripts/mars-oauth.mjs /opt/agent-canvas/mars-oauth.mjs # buildkit
                        
# 2026-11-04 02:49:05  12.42KB 复制新文件或目录到容器中
COPY scripts/mars-secret-store.mjs /opt/agent-canvas/mars-secret-store.mjs # buildkit
                        
# 2026-11-04 02:49:05  13.18KB 复制新文件或目录到容器中
COPY scripts/mars-credentials.mjs /opt/agent-canvas/mars-credentials.mjs # buildkit
                        
# 2026-11-04 02:49:05  12.47KB 复制新文件或目录到容器中
COPY scripts/mars-api.mjs /opt/agent-canvas/mars-api.mjs # buildkit
                        
# 2026-11-04 02:49:05  15.10KB 复制新文件或目录到容器中
COPY scripts/mars-tunnel-bridge.mjs /opt/agent-canvas/mars-tunnel-bridge.mjs # buildkit
                        
# 2026-11-04 02:49:05  22.57KB 复制新文件或目录到容器中
COPY scripts/mars-web-bridge.mjs /opt/agent-canvas/mars-web-bridge.mjs # buildkit
                        
# 2026-11-04 02:49:05  1.02KB 复制新文件或目录到容器中
COPY scripts/http-body.mjs /opt/agent-canvas/http-body.mjs # buildkit
                        
# 2026-11-04 02:49:05  12.44KB 复制新文件或目录到容器中
COPY scripts/proxy-utils.mjs /opt/agent-canvas/proxy-utils.mjs # buildkit
                        
# 2026-11-04 02:49:05  2.45KB 复制新文件或目录到容器中
COPY scripts/bind-host.mjs /opt/agent-canvas/bind-host.mjs # buildkit
                        
# 2026-11-04 02:49:05  30.33KB 复制新文件或目录到容器中
COPY scripts/static-server.mjs /opt/agent-canvas/static-server.mjs # buildkit
                        
# 2026-11-04 02:49:05  10.16MB 复制新文件或目录到容器中
COPY /build/build /opt/agent-canvas/frontend # buildkit
                        
# 2026-11-04 02:49:05  0.00B 执行命令并创建新的镜像层
RUN |9 AUTOMATION_VERSION=1.26.1 AGENT_SERVER_VERSION=1.59.0 AGENT_SERVER_SDK_GIT_REF= OPENHANDS_BUILD_GIT_SHA=934612b3b6cee05d3a4400b98b48a9c69215401d OPENHANDS_BUILD_GIT_REF=refs/tags/v1.35.0 VITE_BASE_PATH=/canvas VITE_POSTHOG_API_KEY=phc_BgzfxKdgsYMLFTmJqt424ZoyVHvKFfrwttLimzdYTKFK AGENT_CANVAS_VERSION=1.35.0 DEBIAN_SNAPSHOT=20260930T000000Z /bin/sh -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-11-04 02:49:04  603.44MB 执行命令并创建新的镜像层
RUN |9 AUTOMATION_VERSION=1.26.1 AGENT_SERVER_VERSION=1.59.0 AGENT_SERVER_SDK_GIT_REF= OPENHANDS_BUILD_GIT_SHA=934612b3b6cee05d3a4400b98b48a9c69215401d OPENHANDS_BUILD_GIT_REF=refs/tags/v1.35.0 VITE_BASE_PATH=/canvas VITE_POSTHOG_API_KEY=phc_BgzfxKdgsYMLFTmJqt424ZoyVHvKFfrwttLimzdYTKFK AGENT_CANVAS_VERSION=1.35.0 DEBIAN_SNAPSHOT=20260930T000000Z /bin/sh -c uv pip install --system "openhands-automation==${AUTOMATION_VERSION}" "openhands-tools==${AGENT_SERVER_VERSION}" "openhands-agent-server==${AGENT_SERVER_VERSION}" 2>/dev/null     || pip install --no-cache-dir "openhands-automation==${AUTOMATION_VERSION}" "openhands-tools==${AGENT_SERVER_VERSION}" "openhands-agent-server==${AGENT_SERVER_VERSION}" # buildkit
                        
# 2026-11-04 02:48:57  35.13MB 执行命令并创建新的镜像层
RUN |9 AUTOMATION_VERSION=1.26.1 AGENT_SERVER_VERSION=1.59.0 AGENT_SERVER_SDK_GIT_REF= OPENHANDS_BUILD_GIT_SHA=934612b3b6cee05d3a4400b98b48a9c69215401d OPENHANDS_BUILD_GIT_REF=refs/tags/v1.35.0 VITE_BASE_PATH=/canvas VITE_POSTHOG_API_KEY=phc_BgzfxKdgsYMLFTmJqt424ZoyVHvKFfrwttLimzdYTKFK AGENT_CANVAS_VERSION=1.35.0 DEBIAN_SNAPSHOT=20260930T000000Z /bin/sh -c if command -v apt-get >/dev/null 2>&1; then       printf '%s\n'         'Types: deb'         "URIs: http://snapshot.debian.org/archive/debian/${DEBIAN_SNAPSHOT}/"         'Suites: trixie'         'Components: main'         'Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg'         'Check-Valid-Until: no'         ''         'Types: deb'         "URIs: http://snapshot.debian.org/archive/debian-security/${DEBIAN_SNAPSHOT}/"         'Suites: trixie-security'         'Components: main'         'Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg'         'Check-Valid-Until: no'         > /etc/apt/sources.list.d/debian.sources &&       apt-get update &&       apt-get upgrade -y --no-install-recommends &&       rm -rf /var/lib/apt/lists/*;     fi # buildkit
                        
# 2026-11-04 02:48:57  0.00B 定义构建参数
ARG DEBIAN_SNAPSHOT=20260930T000000Z
                        
# 2026-11-04 02:48:57  0.00B 指定运行容器时使用的用户
USER root
                        
# 2026-11-04 02:48:57  0.00B 设置环境变量 VITE_POSTHOG_API_KEY
ENV VITE_POSTHOG_API_KEY=phc_BgzfxKdgsYMLFTmJqt424ZoyVHvKFfrwttLimzdYTKFK
                        
# 2026-11-04 02:48:57  0.00B 设置环境变量 AGENT_CANVAS_BASE_PATH
ENV AGENT_CANVAS_BASE_PATH=/canvas
                        
# 2026-11-04 02:48:57  0.00B 设置环境变量 AGENT_CANVAS_BUILD_GIT_REF
ENV AGENT_CANVAS_BUILD_GIT_REF=refs/tags/v1.35.0
                        
# 2026-11-04 02:48:57  0.00B 设置环境变量 AGENT_CANVAS_BUILD_GIT_SHA
ENV AGENT_CANVAS_BUILD_GIT_SHA=934612b3b6cee05d3a4400b98b48a9c69215401d
                        
# 2026-11-04 02:48:57  0.00B 添加元数据标签
LABEL org.opencontainers.image.revision=934612b3b6cee05d3a4400b98b48a9c69215401d
                        
# 2026-11-04 02:48:57  0.00B 添加元数据标签
LABEL org.opencontainers.image.version=1.35.0
                        
# 2026-11-04 02:48:57  0.00B 添加元数据标签
LABEL org.opencontainers.image.source=https://github.com/OpenHands/OpenHands
                        
# 2026-11-04 02:48:57  0.00B 添加元数据标签
LABEL org.opencontainers.image.description=All-in-one agent-canvas: Agent Server + Automation + Frontend
                        
# 2026-11-04 02:48:57  0.00B 添加元数据标签
LABEL org.opencontainers.image.title=agent-canvas
                        
# 2026-11-04 02:48:57  0.00B 定义构建参数
ARG AGENT_CANVAS_VERSION=dev
                        
# 2026-11-04 02:48:57  0.00B 定义构建参数
ARG VITE_POSTHOG_API_KEY=
                        
# 2026-11-04 02:48:57  0.00B 定义构建参数
ARG VITE_BASE_PATH=/canvas
                        
# 2026-11-04 02:48:57  0.00B 定义构建参数
ARG OPENHANDS_BUILD_GIT_REF=unknown
                        
# 2026-11-04 02:48:57  0.00B 定义构建参数
ARG OPENHANDS_BUILD_GIT_SHA=unknown
                        
# 2026-11-04 02:48:57  0.00B 定义构建参数
ARG AGENT_SERVER_SDK_GIT_REF=
                        
# 2026-11-04 02:48:57  0.00B 定义构建参数
ARG AGENT_SERVER_VERSION
                        
# 2026-11-04 02:48:57  0.00B 定义构建参数
ARG AUTOMATION_VERSION
                        
# 2026-10-28 22:39:11  0.00B 配置容器启动时运行的命令
ENTRYPOINT ["tini" "--" "/usr/local/bin/openhands-agent-server"]
                        
# 2026-10-28 22:39:11  0.00B 设置环境变量 LD_LIBRARY_PATH
ENV LD_LIBRARY_PATH=/usr/lib/aarch64-linux-gnu:/usr/lib:/usr/lib/x86_64-linux-gnu:
                        
# 2026-10-28 22:39:11  0.00B 执行命令并创建新的镜像层
RUN |1 USERNAME=openhands /bin/sh -c chmod +x /usr/local/bin/openhands-agent-server # buildkit
                        
# 2026-10-28 22:39:11  113.69MB 复制新文件或目录到容器中
COPY --chown=openhands:openhands /agent-server/dist/openhands-agent-server /usr/local/bin/openhands-agent-server # buildkit
                        
# 2026-10-28 22:37:32  0.00B 定义构建参数
ARG USERNAME
                        
# 2026-10-28 22:37:32  0.00B 声明容器运行时监听的端口
EXPOSE map[8000/tcp:{}]
                        
# 2026-10-28 22:37:32  0.00B 设置环境变量 OH_ACP_SKILL_SOURCING
ENV OH_ACP_SKILL_SOURCING=openhands_managed
                        
# 2026-10-28 22:37:32  0.00B 设置环境变量 LOG_JSON
ENV LOG_JSON=true
                        
# 2026-10-28 22:37:32  0.00B 设置工作目录为/
WORKDIR /
                        
# 2026-10-28 22:37:32  0.00B 指定运行容器时使用的用户
USER openhands
                        
# 2026-10-28 22:37:32  690.89MB 执行命令并创建新的镜像层
RUN |4 USERNAME=openhands INSTALL_CAPABILITIES=vscode,browser,docker RELEASE_TAG=openvscode-server-v1.109.5 RELEASE_ORG=gitpod-io /bin/sh -c set -eux;     case ",$INSTALL_CAPABILITIES," in       *,browser,*)         apt-get update;         apt-get install -y --no-install-recommends           "$(if grep -q "ubuntu" /etc/os-release; then echo "chromium-browser"; else echo "chromium"; fi)";         apt-get clean; rm -rf /var/lib/apt/lists/*;         ;;     esac # buildkit
                        
# 2026-10-28 22:37:12  0.00B 设置环境变量 CHROME_BIN PUPPETEER_EXECUTABLE_PATH CHROMIUM_FLAGS
ENV CHROME_BIN=/usr/bin/chromium PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium CHROMIUM_FLAGS=--no-sandbox --disable-dev-shm-usage --disable-gpu
                        
# 2026-10-28 22:37:12  41.78MB 执行命令并创建新的镜像层
RUN |4 USERNAME=openhands INSTALL_CAPABILITIES=vscode,browser,docker RELEASE_TAG=openvscode-server-v1.109.5 RELEASE_ORG=gitpod-io /bin/sh -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-10-28 22:37:09  414.45MB 执行命令并创建新的镜像层
RUN |4 USERNAME=openhands INSTALL_CAPABILITIES=vscode,browser,docker RELEASE_TAG=openvscode-server-v1.109.5 RELEASE_ORG=gitpod-io /bin/sh -c set -eux;     case ",$INSTALL_CAPABILITIES," in       *,docker,*) ;;       *) echo "INSTALL_CAPABILITIES excludes docker; skipping Docker Engine"; exit 0;;     esac;         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/*;         mkdir -p /etc/docker;     echo '{"mtu": 1450}' > /etc/docker/daemon.json # buildkit
                        
# 2026-10-28 22:36:58  1.15KB 执行命令并创建新的镜像层
RUN |4 USERNAME=openhands INSTALL_CAPABILITIES=vscode,browser,docker RELEASE_TAG=openvscode-server-v1.109.5 RELEASE_ORG=gitpod-io /bin/sh -c set -eux;     case ",$INSTALL_CAPABILITIES," in       *,vscode,*) ;;       *) exit 0;;     esac;         mkdir -p ${OPENVSCODE_SERVER_ROOT}/extensions;     cp -r /tmp/vscode_extensions/. ${OPENVSCODE_SERVER_ROOT}/extensions/;     chown -R ${USERNAME}:${USERNAME} ${OPENVSCODE_SERVER_ROOT}/extensions # buildkit
                        
# 2026-10-28 22:36:57  245.27MB 执行命令并创建新的镜像层
RUN |4 USERNAME=openhands INSTALL_CAPABILITIES=vscode,browser,docker RELEASE_TAG=openvscode-server-v1.109.5 RELEASE_ORG=gitpod-io /bin/sh -c set -eux;     case ",$INSTALL_CAPABILITIES," in       *,vscode,*) ;;       *) echo "INSTALL_CAPABILITIES excludes vscode; skipping OpenVSCode Server"; exit 0;;     esac;         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;         case "${arch}" in       x64) NARCH=x64; NODE_SHA256=1805bcd35e6815559bd2eb97db438d3fdb0eb3a5e6a977b7c1badca76337e9ce;;       arm64) NARCH=arm64; NODE_SHA256=6287aa46b6c375d816e63ae66d024fbbfd70404825aabdfdf898a970871d2f4b;;       armhf) NARCH=armv7l; NODE_SHA256=c9057c6a3b8fbb9651ed115c1e96d4a7281b7b9c9ca89fa05865c98ed7ffd437;;       *) echo "Unsupported architecture for OpenVSCode Node: '${arch}'" >&2; exit 1;;     esac;     NODE_TARBALL="/tmp/node-v22.23.4-linux-${NARCH}.tar.xz";     wget -nv -O "$NODE_TARBALL" "https://nodejs.org/dist/v22.23.4/node-v22.23.4-linux-${NARCH}.tar.xz";     echo "$NODE_SHA256  $NODE_TARBALL" | sha256sum -c -;     tar -xJf "$NODE_TARBALL" -O "node-v22.23.4-linux-${NARCH}/bin/node" > ${OPENVSCODE_SERVER_ROOT}/node;     chmod 755 ${OPENVSCODE_SERVER_ROOT}/node;     rm -f "$NODE_TARBALL";     ${OPENVSCODE_SERVER_ROOT}/node --version;         chown -R ${USERNAME}:${USERNAME} ${OPENVSCODE_SERVER_ROOT} # buildkit
                        
# 2026-10-28 22:36:52  0.00B 定义构建参数
ARG RELEASE_ORG=gitpod-io
                        
# 2026-10-28 22:36:52  0.00B 定义构建参数
ARG RELEASE_TAG=openvscode-server-v1.109.5
                        
# 2026-10-28 22:36:52  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-10-28 22:36:52  0.00B 执行命令并创建新的镜像层
RUN |2 USERNAME=openhands INSTALL_CAPABILITIES=vscode,browser,docker /bin/sh -c set -eux;     for capability in $(echo "$INSTALL_CAPABILITIES" | tr ',' ' '); do       case "$capability" in         vscode|browser|docker) ;;         *) echo "Unknown capability '$capability' in INSTALL_CAPABILITIES"              "(expected one of: vscode, browser, docker)" >&2; exit 1;;       esac;     done # buildkit
                        
# 2026-10-28 22:36:52  42.47MB 复制新文件或目录到容器中
COPY /uv /uvx /bin/ # buildkit
                        
# 2026-10-28 22:36:52  270.81MB 执行命令并创建新的镜像层
RUN |2 USERNAME=openhands INSTALL_CAPABILITIES=vscode,browser,docker /bin/sh -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             apt-transport-https apt-utils build-essential coreutils curl             findutils gnupg grep jq lsb-release procps sed sudo tar util-linux             wget xz-utils;         rm -rf /var/lib/apt/lists/*;     elif command -v apk >/dev/null 2>&1; then         apk add --no-cache             build-base coreutils curl findutils gnupg grep jq procps sudo tar             util-linux wget xz;     elif command -v microdnf >/dev/null 2>&1; then         microdnf install -y             coreutils curl findutils gcc gcc-c++ gnupg2 grep jq make procps-ng             sed sudo tar util-linux wget xz;         microdnf clean all;     elif command -v dnf >/dev/null 2>&1; then         dnf install -y             coreutils curl findutils gcc gcc-c++ gnupg2 grep jq make procps-ng             sed sudo tar util-linux wget xz;         dnf clean all;     elif command -v yum >/dev/null 2>&1; then         yum install -y             coreutils curl findutils gcc gcc-c++ gnupg2 grep jq make procps-ng             sed sudo tar util-linux wget xz;         yum clean all;     elif command -v zypper >/dev/null 2>&1; then         zypper --non-interactive install --no-recommends             coreutils curl findutils gcc gcc-c++ gpg2 grep jq make procps sed             sudo tar util-linux wget xz;         zypper clean --all;     fi;     usermod -aG sudo "${USERNAME}" 2>/dev/null || true;     echo "${USERNAME} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers # buildkit
                        
# 2026-10-28 22:36:41  0.00B 指定运行容器时使用的用户
USER root
                        
# 2026-10-28 22:36:41  0.00B 定义构建参数
ARG INSTALL_CAPABILITIES
                        
# 2026-10-28 22:36:41  0.00B 定义构建参数
ARG USERNAME
                        
# 2026-10-28 22:36:41  0.00B 声明容器运行时监听的端口
EXPOSE map[8000/tcp:{}]
                        
# 2026-10-28 22:36:41  0.00B 设置环境变量 OH_ACP_SKILL_SOURCING
ENV OH_ACP_SKILL_SOURCING=openhands_managed
                        
# 2026-10-28 22:36:41  0.00B 设置环境变量 LOG_JSON
ENV LOG_JSON=true
                        
# 2026-10-28 22:36:41  0.00B 设置环境变量 LANG
ENV LANG=C.UTF-8
                        
# 2026-10-28 22:36:41  0.00B 设置环境变量 LC_ALL
ENV LC_ALL=C.UTF-8
                        
# 2026-10-28 22:36:41  0.00B 设置工作目录为/
WORKDIR /
                        
# 2026-10-28 22:36:41  0.00B 指定运行容器时使用的用户
USER openhands
                        
# 2026-10-28 22:36:41  49.00B 执行命令并创建新的镜像层
RUN |7 USERNAME=openhands UID=10001 GID=10001 PORT=8000 ENABLE_VSCODE=true OPENHANDS_BUILD_GIT_SHA=ccae18cb897bef7960f210aa3f380b577a84be7c OPENHANDS_BUILD_GIT_REF=refs/tags/v1.59.0 /bin/sh -c mkdir -p /etc/claude-code &&     echo '{"permissions":{"allow":["Edit","Read","Bash"]}}' > /etc/claude-code/managed-settings.json # buildkit
                        
# 2026-10-28 22:36:41  0.00B 执行命令并创建新的镜像层
RUN |7 USERNAME=openhands UID=10001 GID=10001 PORT=8000 ENABLE_VSCODE=true OPENHANDS_BUILD_GIT_SHA=ccae18cb897bef7960f210aa3f380b577a84be7c OPENHANDS_BUILD_GIT_REF=refs/tags/v1.59.0 /bin/sh -c if ! "$ACP_NODE_DIR/bin/node" --version >/dev/null 2>&1; then       echo "Warning: ACP Node 24 runtime is not compatible with this base image (likely older glibc or musl libc); ACP agents will not be available" >&2;       if [ -f "$ACP_NODE_DIR/acp-wrappers.txt" ]; then         while read -r bin; do rm -f "/usr/local/bin/$bin"; done           < "$ACP_NODE_DIR/acp-wrappers.txt";       fi;       rm -rf "$ACP_NODE_DIR"/*;     fi # buildkit
                        
# 2026-10-28 22:36:41  223.00B 复制新文件或目录到容器中
COPY /opt/acp-wrappers/. /usr/local/bin/ # buildkit
                        
# 2026-10-28 22:36:41  1.15GB 复制新文件或目录到容器中
COPY /acp-node /acp-node # buildkit
                        
# 2026-10-28 22:36:32  0.00B 设置环境变量 ACP_NODE_DIR
ENV ACP_NODE_DIR=/acp-node
                        
# 2026-10-28 22:36:32  101.27MB 执行命令并创建新的镜像层
RUN |7 USERNAME=openhands UID=10001 GID=10001 PORT=8000 ENABLE_VSCODE=true OPENHANDS_BUILD_GIT_SHA=ccae18cb897bef7960f210aa3f380b577a84be7c OPENHANDS_BUILD_GIT_REF=refs/tags/v1.59.0 /bin/sh -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 git tini tmux;         rm -rf /var/lib/apt/lists/*;     elif command -v apk >/dev/null 2>&1; then         apk add --no-cache bash ca-certificates git shadow tini tmux;     elif command -v microdnf >/dev/null 2>&1; then         microdnf install -y bash ca-certificates curl git shadow-utils tmux;         microdnf clean all;     elif command -v dnf >/dev/null 2>&1; then         dnf install -y bash ca-certificates curl git shadow-utils tmux;         dnf clean all;     elif command -v yum >/dev/null 2>&1; then         yum install -y bash ca-certificates curl git shadow-utils tmux;         yum clean all;     elif command -v zypper >/dev/null 2>&1; then         zypper --non-interactive install --no-recommends             bash ca-certificates curl git shadow tmux;         zypper clean --all;     else         echo "Unsupported base image: no known package manager found" >&2;         exit 1;     fi;     if ! command -v tini >/dev/null 2>&1; then         ARCH=$(uname -m);         case "$ARCH" in           x86_64|amd64) TARCH=amd64; TINI_SHA256=c5b0666b4cb676901f90dfcb37106783c5fe2077b04590973b885950611b30ee;;           aarch64|arm64) TARCH=arm64; TINI_SHA256=eae1d3aa50c48fb23b8cbdf4e369d0910dfc538566bfd09df89a774aa84a48b9;;           *) echo "Unsupported architecture for tini: '$ARCH'" >&2; exit 1;;         esac;         curl -fsSL --retry 5 --retry-delay 2 --retry-connrefused             "https://github.com/krallin/tini/releases/download/v0.19.0/tini-static-${TARCH}"             -o /usr/local/bin/tini;         echo "$TINI_SHA256  /usr/local/bin/tini" | sha256sum -c -;         chmod 755 /usr/local/bin/tini;     fi;     tini --version;     grep -Eq "^[^:]*:[^:]*:${GID}:" /etc/group || groupadd -g "${GID}" "${USERNAME}";     grep -Eq "^${USERNAME}:" /etc/passwd ||         useradd -m -u "${UID}" -g "${GID}" -s /bin/bash "${USERNAME}";     mkdir -p /workspace/project;     chown -R "${USERNAME}:${USERNAME}" /workspace # buildkit
                        
# 2026-10-28 22:36:26  0.00B 设置环境变量 OPENHANDS_BUILD_GIT_REF
ENV OPENHANDS_BUILD_GIT_REF=refs/tags/v1.59.0
                        
# 2026-10-28 22:36:26  0.00B 设置环境变量 OPENHANDS_BUILD_GIT_SHA
ENV OPENHANDS_BUILD_GIT_SHA=ccae18cb897bef7960f210aa3f380b577a84be7c
                        
# 2026-10-28 22:36:26  0.00B 定义构建参数
ARG OPENHANDS_BUILD_GIT_REF=unknown
                        
# 2026-10-28 22:36:26  0.00B 定义构建参数
ARG OPENHANDS_BUILD_GIT_SHA=unknown
                        
# 2026-10-28 22:36:26  0.00B 设置环境变量 OH_ENABLE_VSCODE
ENV OH_ENABLE_VSCODE=true
                        
# 2026-10-28 22:36:26  0.00B 定义构建参数
ARG USERNAME UID GID PORT ENABLE_VSCODE
                        
# 2026-10-28 22:36:26  14.78MB 执行命令并创建新的镜像层
RUN |2 NPM_VERSION=11.21.0 DEBIAN_SNAPSHOT=20261021T000000Z /bin/sh -c set -eux;     python3 -m pip install --no-deps --no-index --no-cache-dir --force-reinstall         --disable-pip-version-check --root-user-action=ignore         /tmp/pip-dist/pip-*-py3-none-any.whl # buildkit
                        
# 2026-10-28 22:36:22  4.71MB 执行命令并创建新的镜像层
RUN |2 NPM_VERSION=11.21.0 DEBIAN_SNAPSHOT=20261021T000000Z /bin/sh -c set -eux;     ln -sfn ../lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm;     ln -sfn ../lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx;     ln -sfn ../lib/node_modules/corepack/dist/corepack.js /usr/local/bin/corepack;     printf '%s\n'         'Types: deb'         "URIs: http://snapshot.debian.org/archive/debian/${DEBIAN_SNAPSHOT}/"         'Suites: trixie'         'Components: main'         'Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg'         'Check-Valid-Until: no'         ''         'Types: deb'         "URIs: http://snapshot.debian.org/archive/debian-security/${DEBIAN_SNAPSHOT}/"         'Suites: trixie-security'         'Components: main'         'Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg'         'Check-Valid-Until: no'         > /etc/apt/sources.list.d/debian.sources;     apt-get update;     apt-get upgrade -y;     apt-get install -y --no-install-recommends         ca-certificates         libbz2-1.0         libdb5.3t64         libffi8         libgcc-s1         libgdbm6t64         liblzma5         libncursesw6         libreadline8t64         libsqlite3-0         libssl3t64         libstdc++6         libtinfo6         libuuid1         libzstd1         netbase         tzdata         zlib1g;     rm -rf /var/lib/apt/lists/*;     python3 --version;     node --version;     npm --version # buildkit
                        
# 2026-10-28 22:36:11  46.13MB 执行命令并创建新的镜像层
RUN |2 NPM_VERSION=11.21.0 DEBIAN_SNAPSHOT=20261021T000000Z /bin/sh -c node /usr/local/lib/node_modules/npm/bin/npm-cli.js install --global "npm@${NPM_VERSION}" # buildkit
                        
# 2026-10-28 22:35:48  12.81MB 复制新文件或目录到容器中
COPY /usr/local/lib/node_modules /usr/local/lib/node_modules # buildkit
                        
# 2026-10-28 22:35:47  126.88MB 复制新文件或目录到容器中
COPY /usr/local/bin/node /usr/local/bin/node # buildkit
                        
# 2026-10-28 22:35:37  32.36MB 复制新文件或目录到容器中
COPY /usr/local /usr/local # buildkit
                        
# 2026-10-28 22:35:37  0.00B 定义构建参数
ARG DEBIAN_SNAPSHOT=20261021T000000Z
                        
# 2026-10-28 22:35:37  0.00B 定义构建参数
ARG NPM_VERSION
                        
# 2026-10-27 08:00:00  78.86MB 
# debian.sh --arch 'amd64' out/ 'trixie' '@1793059200'
                        
                    

镜像信息

{
    "Id": "sha256:e4b0c0020539961161a6bd49a39fa45acf6fa38a814689c71466eb0286fd1156",
    "RepoTags": [
        "ghcr.io/openhands/agent-canvas:1.35.0",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openhands/agent-canvas:1.35.0"
    ],
    "RepoDigests": [
        "ghcr.io/openhands/agent-canvas@sha256:955b06d6fc577876daa2dccce93c18957a828c6c010e0e9b15e7abf227a6b99a",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openhands/agent-canvas@sha256:2b12a3c13331e7c941d6387abcefceb1e94590b7038a3634aa49f71fd36a469b"
    ],
    "Parent": "",
    "Comment": "buildkit.dockerfile.v0",
    "Created": "2026-11-03T18:49:05.729688797Z",
    "Container": "",
    "ContainerConfig": null,
    "DockerVersion": "",
    "Author": "",
    "Config": {
        "Hostname": "",
        "Domainname": "",
        "User": "openhands",
        "AttachStdin": false,
        "AttachStdout": false,
        "AttachStderr": false,
        "ExposedPorts": {
            "8000/tcp": {}
        },
        "Tty": false,
        "OpenStdin": false,
        "StdinOnce": false,
        "Env": [
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "OH_ENABLE_VSCODE=true",
            "OPENHANDS_BUILD_GIT_SHA=ccae18cb897bef7960f210aa3f380b577a84be7c",
            "OPENHANDS_BUILD_GIT_REF=refs/tags/v1.59.0",
            "ACP_NODE_DIR=/acp-node",
            "LC_ALL=C.UTF-8",
            "LANG=C.UTF-8",
            "LOG_JSON=true",
            "OH_ACP_SKILL_SOURCING=openhands_managed",
            "EDITOR=code",
            "VISUAL=code",
            "GIT_EDITOR=code --wait",
            "OPENVSCODE_SERVER_ROOT=/openhands/.openvscode-server",
            "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=934612b3b6cee05d3a4400b98b48a9c69215401d",
            "AGENT_CANVAS_BUILD_GIT_REF=refs/tags/v1.35.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.description": "All-in-one agent-canvas: Agent Server + Automation + Frontend",
            "org.opencontainers.image.revision": "934612b3b6cee05d3a4400b98b48a9c69215401d",
            "org.opencontainers.image.source": "https://github.com/OpenHands/OpenHands",
            "org.opencontainers.image.title": "agent-canvas",
            "org.opencontainers.image.version": "1.35.0"
        }
    },
    "Architecture": "amd64",
    "Os": "linux",
    "Size": 4038256594,
    "GraphDriver": {
        "Data": {
            "LowerDir": "/var/lib/docker/overlay2/4922d0937b05e77531f8e66ace96edf786a777bc49f85136dec92dd0a8459d2d/diff:/var/lib/docker/overlay2/66725417a78fd5c66ac6e84059cd08acaa01f0696b6c8c537c60c0769edae69f/diff:/var/lib/docker/overlay2/9676fdaa411608b359037c4af54ef20ff0c4395136298a41e9af4688d79536c8/diff:/var/lib/docker/overlay2/8258716f3fad9b7729f0eb591e7aec597e187eac744e708210b80258b1af8f75/diff:/var/lib/docker/overlay2/c8c2859601d1d9ebf5f3cc6c85f4fdc55dde57ece057b660ab05c98cf8c52867/diff:/var/lib/docker/overlay2/670d22422970db3b9b6f12a0d149f2f839e6653ed1363a07987178de11c5022d/diff:/var/lib/docker/overlay2/877cdd6a103e014172bd8a67e895c83e05696e24a94bcd0c59f2393abe85c5a4/diff:/var/lib/docker/overlay2/b7714fc59d88e31b06c36dd580ced77edf7a3135a62b4a34e19f35297b4a2bb9/diff:/var/lib/docker/overlay2/e2c19dead19d49108370d8fec938a297e988f85531f4a1a1f89ba09e2848072b/diff:/var/lib/docker/overlay2/f49bc7583524364e77eb00cc4788299ded0ef64c1b2ae4166267645df91b1eda/diff:/var/lib/docker/overlay2/15033dcfa5483ebe6477a9ffcd63cd5334ba6162a97c795a45c3d29db586b01c/diff:/var/lib/docker/overlay2/fb04127136ef2026e85c1af23c4cb80cbad4585e4501488bcde1b6d8248902df/diff:/var/lib/docker/overlay2/308575ec180babc09d35e4707b2de340196d3dcd6548bbd26defae706114cde7/diff:/var/lib/docker/overlay2/b42f164e944d7ec3a51713b6a73fb46c03efc2d24b8d2fe187d525bf075abebe/diff:/var/lib/docker/overlay2/190dd138a742ae677b419569cb7506bdab47c2f80a644d383cfdbb4fb6663108/diff:/var/lib/docker/overlay2/907282c4c6ff9a69ca773427b6bf9bec8a2057c3aa7944e653403cdeccd8d01c/diff:/var/lib/docker/overlay2/e9aaad10937ff89b23784562072ea2f7398f408f4bb09ae6c73ccee4a2c07695/diff:/var/lib/docker/overlay2/0a698ead9597da8bc40c48c7f4c8747f75706ba7182f400c706cc2931a980905/diff:/var/lib/docker/overlay2/4d6e5fad7a26c962e7310f413a32708b4fb10fd4820408d232972cd766d9cb1a/diff:/var/lib/docker/overlay2/9ba99557c16e369f93a82b71b0cf28bdc16fc1a0426c95051ce516edb5479b57/diff:/var/lib/docker/overlay2/9275958941b8354dbc7392e3cf07a0a2c293d30d9e4319437a4e714ee06a1691/diff:/var/lib/docker/overlay2/3cbb8b310138400e3ae5ae9345136349fe6dcb7837a185b2aa794482e585ab0f/diff:/var/lib/docker/overlay2/2632a2009227e76f843a8f324981d605748e941423a1d971121fe4cf0db48338/diff:/var/lib/docker/overlay2/bb0c58133f0efcc07f21f50b17ae1750f6c63a72be621e5f194c12ce04e78e03/diff:/var/lib/docker/overlay2/f9d71546e1e9e4c612a7237d8889d596e55753bc721dd0a6658f3f5692d321a8/diff:/var/lib/docker/overlay2/2f4263e62d861d042405089ee2894e9d850376f4897d8d894676fe9730bac286/diff:/var/lib/docker/overlay2/3f6557e59af9776174a4ac1e59f864564656b261b5dbd6c2dfdd84f8f513a13c/diff:/var/lib/docker/overlay2/c48828f9622e4a41c08a589bdb3a14de2bed70654a5cba08aba9175e1cffb4b0/diff:/var/lib/docker/overlay2/1310e3dfc0b0562e8028e0fd956112bb38bb97e9762e5daa4923fa7723440c3f/diff:/var/lib/docker/overlay2/10ba191439ec06d85babf7dbc410177d56bf09827a01969319fff1aaaecfa34b/diff:/var/lib/docker/overlay2/f2b9a66959fa171663987e7925b0b0779e0fb9686e45b319e5389dfe9e4505d4/diff:/var/lib/docker/overlay2/14d7430bd29737dc04a9e0c3aa133ae6fb9ca9c64bea6e0ce3183a08a8959ef1/diff:/var/lib/docker/overlay2/e51f9ee06e991af131a3aa5e6f1342d5f07b82d4bb035efeeadd6b8d5a565cae/diff:/var/lib/docker/overlay2/6f95447916a37a94056e5a2708dd4b6de7939ec14865d7a800ea73bd1e75e50a/diff:/var/lib/docker/overlay2/09701cfa9809c32b35e1e68e5f606a1c18268f18d97f2f76d152150dd3b2c227/diff:/var/lib/docker/overlay2/d76dad2c6c9894334868655fde1148683aa5f1fdbe906bf717175196e2fb11f9/diff:/var/lib/docker/overlay2/2e728549ebb030ac15c5842350576c8a703aa407da306486279599bc51ae45f5/diff:/var/lib/docker/overlay2/773bd307bf806484d9917a8eda24791efbf51c1440620202986094678f350a1f/diff:/var/lib/docker/overlay2/51f2bfe7f5838c712b800d34d676aa36990b272d8fecd9815752de3b9509af91/diff:/var/lib/docker/overlay2/a5ebd00e3805b908310f132fa13675e9f7bd105c05760526e3236b529b5847b5/diff:/var/lib/docker/overlay2/814b24cd1377586b74d07190ae9cc8993041e0fabb03c5aef55f5fde4456e0c8/diff:/var/lib/docker/overlay2/3ddd5dd4e22d9d93d964688d12921d1252cd0aa34e6099d5d2e7a6d28e2d131e/diff:/var/lib/docker/overlay2/694f0d2c9ddf0fb50fc4f30d5b749fd67cfbe814d94ab27f5267f3134685a85e/diff:/var/lib/docker/overlay2/9333d416fc6e4f6ed7f68ff8c0b59c3e9df880ee78755c55dd5479ea1860eac2/diff:/var/lib/docker/overlay2/13d8335f3c9fa1f4e0c9844c7487db5c1fb1d3f0706ec113af7cac9f53f55074/diff:/var/lib/docker/overlay2/b66aff383ab4ff9307fc529142717519a5574bcb8a4ca9bcf27e5789ed64250f/diff:/var/lib/docker/overlay2/edfe378f92a05b357ff9859b0e348ff2dfb06ddc4067fddf6506e87f42b4577b/diff:/var/lib/docker/overlay2/b40fc2540320fd2eaa135f49704c8755e9be3452a5fb4473ee27f69708afea0c/diff:/var/lib/docker/overlay2/90daefdf835bd659ff2f2a44c51fbe6b58689e3450f3d41f8dd240070ae01342/diff:/var/lib/docker/overlay2/3e7299369d750ad8e4ead98513c8a8a14726ed006532d7f3b2654f3939dca44a/diff:/var/lib/docker/overlay2/f1c98fb0dc950f801e3178b84c4e45f82f0470d82cb7b6110f980bbaae3d2f20/diff",
            "MergedDir": "/var/lib/docker/overlay2/c37a824e39f713b5abe65f4a35bc4de3e591ea513a1b25ce8bed2190eaf618e5/merged",
            "UpperDir": "/var/lib/docker/overlay2/c37a824e39f713b5abe65f4a35bc4de3e591ea513a1b25ce8bed2190eaf618e5/diff",
            "WorkDir": "/var/lib/docker/overlay2/c37a824e39f713b5abe65f4a35bc4de3e591ea513a1b25ce8bed2190eaf618e5/work"
        },
        "Name": "overlay2"
    },
    "RootFS": {
        "Type": "layers",
        "Layers": [
            "sha256:a5d6d345f6afa08d7c31272055746d60a838b290bfcc82c0a23e8e984d61a933",
            "sha256:fab7e2c39160ef0f6b12636e0c697a6eebfd4a2f470064f482fdd917b9311c5b",
            "sha256:119f8c2e9eb5c13b26900be9f9c114e7c4c70ee9d9e5308c8971d5f162997dc4",
            "sha256:3f49a083653fe1333d7da9b54d27f3d446e51822f32ef49e523956eba9b79be1",
            "sha256:8f69399a7a56066f02958b5e3466d4cfe80e7e158bf509cee284e8079d18c7d4",
            "sha256:d8daedb7407b52fab336b2196d47ea3aca86df4242acd392f1b84fc0f906f339",
            "sha256:3df695d814b1ac9497ecc0462bb537e7802f7c0bac469264fcbef31931adeb72",
            "sha256:59ef46786a73e5210b7e777de4b320109dea2d9ac2fcc4d93708f7c6536017fe",
            "sha256:cbdfac187f28aeff95670bbd1a540994cbfae1bb05aac0f4845995d3b5863f51",
            "sha256:5965f015b463e6e37207ec32613530f70855ab67157d009c95a4f29a4750b4a6",
            "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
            "sha256:b647772d98923fe13fefd3a28eb7965e72a0f68cc283071ee7130bd6613b50d1",
            "sha256:7c6695a749190c56b969d2c6bd0667ac03ce9f3d3fce4a4aba7545e0fbd8a41d",
            "sha256:3148203b5588f2d9b3cafc6b32a91f7e6dd89d8bbc1f39a1f775ae91a98ea30d",
            "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
            "sha256:c35e7d4a1024c25fbfd1b1c011ad196de6e92d822996f2ca1e6611aa23dc0f75",
            "sha256:7ff584dbfa9d3b7c4db87435dfd711c5db4ba926309cb40c6778f4e86e61eb51",
            "sha256:05a2a5d8685eca73e9a9219e19ddc92d5ded75e1fedbcd036db17df6cff9812b",
            "sha256:02d074dc5f92f89baf75c6ae3cb88ef0bd8424810c4cd2d98430cd79068b2cfa",
            "sha256:cbb02267af2ea2435bd699592de26ba997c974755cef69245d3dfe10da0ac6b9",
            "sha256:4666201ad08f234c9391f6c099bfff1dee34852b7574644ba3c558877f188778",
            "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
            "sha256:26f473c0187e4a942e6abb242c2414dcfe41ca23d955dafa94db2eb121abed08",
            "sha256:2d40d2f1024918d6bedb4bac1029d25b2a8ffee2a89c2352983302c300ec0de1",
            "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
            "sha256:f5f1a9266855c4e82d4727f771d856680bfd547eec7a63ff090bd5af6ff783cc",
            "sha256:8c5a56328d7b1464330f88f02b9eb7e4f6e8952e7fd2e836e8b1e3b36da8edbf",
            "sha256:d8481758e7f79bb70b5129919653cb243fe11fd0c4e169272bcbd1e65b0652ae",
            "sha256:edcfdb3f5bf101340d38c4b4e64b958a45dc4d81e575416404e48d57836dabea",
            "sha256:cca92761cf481e88437ac5d1a3c6941d7d895ddec5430613e63343cfc5af220c",
            "sha256:a8baa22e73818577a2b6ffde8fff084d92614ac91039d8e006c0b4666b7f5e38",
            "sha256:cfe67bf9be025102e7591bd67d8bf26f5fff72bb1761bdb668ad0e52927c9b24",
            "sha256:a562e1f5f2ea65f201d15ce91afe394612d944d9b89c604991c79be101550fd5",
            "sha256:d7761be63c73506e5a9077a06cec4a9c4269c4b774fd951c3a33d42c19a00303",
            "sha256:49dd755e87edf95c6de2a6ccfa95d03e6a0c9d0ffcc606af774bba75e8b1a55c",
            "sha256:ba61167e02dcc06121c7639cebde346e11d97ab3b850227f27eb247059cf43d9",
            "sha256:f27f521869a805d574f6794992e35f8d7d28bd778f6facaa7e6201abb5c18caa",
            "sha256:82ff145a89265578e2ddb2929ffe1bb68751304359663ac041031a8c9c089b4f",
            "sha256:41485cafe85aef76c7aceb1268fad68b29f4b9350b13a581f9b603db1110b631",
            "sha256:eeac70e73546247c91a84c70e9bd9bb8bee7570cf0b17b504b601ae017b3824e",
            "sha256:8d37e4b24d85f3e620456e18538b3a34b243453b5ae27cc4e955b867baaa29c9",
            "sha256:8965e0e6f4f54abcd8cc875ea90be46757e8507884be64abcb6dee3f9b8a6154",
            "sha256:5f811610995c557cae8e5a76a0ab0a2ea00d26d22f84efc02e5ecc995e5b5946",
            "sha256:abd01e7a5d6d02b0b69c09d32f91674750ac31d205c0172e198e5cfd50d8998b",
            "sha256:270af3fc3980b3065d1720b6a0aa79bba3fbfb8cf33f1ffcbe6344ffbc2840ee",
            "sha256:9956b172d0f88d2ec31cf0a64a8638b4ce17c5fa1690bbfd0f4f9b00fa5b0695",
            "sha256:1659a453474f505176f30caf4ce4f0e230fc24de2cde1fc8927c0490287b2a9f",
            "sha256:a4f3931a7fde41b10093e450bb04771e6551776e2383c7ee7c67db037adf149d",
            "sha256:de54fdb245735fb78b3806afd260d1d578b0e2c3833194465f939c4a01178114",
            "sha256:0f3315f0c7298428e49b60dbea72649cbac6afd683e5032b19a5491aae14c2ca",
            "sha256:0632179f86fcaab9c232387482d0dd84a12c4233b46c6c0bdcf043364b07527c",
            "sha256:8011202d1baeadd4fb387587f460f6fd8dcff98189d99e481d7cdf60d6cc0cc4"
        ]
    },
    "Metadata": {
        "LastTagTime": "2026-11-05T09:32:57.82241249+08:00"
    }
}

更多版本

ghcr.io/openhands/agent-canvas:1.12.0

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

ghcr.io/openhands/agent-canvas:1.14.0

linux/amd64 ghcr.io4.41GB2026-08-21 14:54
194

ghcr.io/openhands/agent-canvas:1.15.0

linux/amd64 ghcr.io4.41GB2026-08-25 20:19
195

ghcr.io/openhands/agent-canvas:1.20.0

linux/amd64 ghcr.io3.76GB2026-09-17 16:04
107

ghcr.io/openhands/agent-canvas:1.24.0

linux/amd64 ghcr.io3.94GB2026-09-29 15:43
140

ghcr.io/openhands/agent-canvas:1.25.0

linux/amd64 ghcr.io3.84GB2026-10-08 13:50
59

ghcr.io/openhands/agent-canvas:1.26.0

linux/amd64 ghcr.io4.30GB2026-10-09 20:22
115

ghcr.io/openhands/agent-canvas:1.27.1

linux/amd64 ghcr.io3.87GB2026-10-13 10:56
61

ghcr.io/openhands/agent-canvas:1.28.1

linux/amd64 ghcr.io3.89GB2026-10-20 09:12
74

ghcr.io/openhands/agent-canvas:1.34.0

linux/amd64 ghcr.io3.93GB2026-10-30 19:12
57

ghcr.io/openhands/agent-canvas:1.35.0

linux/amd64 ghcr.io4.04GB2026-11-05 09:35
20

ghcr.io/openhands/agent-canvas:latest

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