镜像构建历史
# 2026-04-22 17:11:29 0.00B
/bin/sh
# 2026-02-22 07:16:41 2.17GB
/bin/sh -c #(nop) COPY file:1a2156adb76d8deaa9f834ddbea912774c163c1cf4601d6011d5023959d4a332 in /swebench_matterhorn/swebench_instance.json
# 2026-02-22 07:16:31 0.00B
/bin/sh -c #(nop) WORKDIR /music21
# 2026-02-22 07:16:31 0.00B
/bin/sh -c <<-DOCKER_RUN_EOF
set -eux;
git clone -o origin https://github.com/cuthbertLab/music21 /music21;
chmod -R 777 /music21;
cd /music21;
git reset --hard d77f4059a6943aa43b0dea388faa2bf2b8257c6c;
( export DEBIAN_FRONTEND=noninteractive ) || true;
( apt-get update -qq ) || true;
( apt-get install -y -qq lilypond ) || true;
( pip install -q -r requirements.txt ) || true;
( pip install -q -r requirements_dev.txt ) || true;
( pip install -q -e . ) || true;
( python -c "from music21 import environment; environment.UserSettings()['lilypondPath'] = '/usr/bin/lilypond'" ) || true;
# Keep only the checked-out commit and remove refs/history that can point
# to newer commits.
git checkout --detach d77f4059a6943aa43b0dea388faa2bf2b8257c6c;
for r in $(git remote); do
git remote remove "$r";
done;
git for-each-ref --format='delete %(refname)' refs/heads refs/remotes refs/tags | git update-ref --stdin;
git reflog expire --expire=now --expire-unreachable=now --all;
git gc --prune=now;
# 2026-02-22 07:14:42 0.00B
/bin/sh -c #(nop) ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/conda/bin:$PATH
# 2026-02-22 07:14:31 1.53GB
/bin/sh -c #(nop) ENV NO_CONDA=1
# 2026-02-22 07:14:23 0.00B
/bin/sh -c mkdir -p /swebench_matterhorn && tar -xzf /swebench_matterhorn_repo.tar.gz -C /swebench_matterhorn && rm /swebench_matterhorn_repo.tar.gz && mkdir -p /opt/conda/envs/swebench_matterhorn && tar -xzf /swebench_matterhorn_env.tar.gz -C /opt/conda/envs/swebench_matterhorn && rm /swebench_matterhorn_env.tar.gz && /opt/conda/envs/swebench_matterhorn/bin/conda-unpack
# 2026-02-22 07:14:17 0.00B
/bin/sh -c #(nop) COPY file:61604c43c292b48546055579c93885a922428ac04b5a3f2bd7c87a6a8208dbd4 in /
# 2026-02-22 07:14:16 0.00B
/bin/sh -c #(nop) COPY file:38d2cec6c3688d3db2fdf6a899d279ccf0f0bf78f9acc300722c98b6d67c4b26 in /
# 2026-02-22 07:14:16 0.00B
/bin/sh -c wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-py312_24.7.1-0-Linux-x86_64.sh -O ~/miniconda.sh && /bin/bash ~/miniconda.sh -b -p /opt/conda && rm ~/miniconda.sh && /opt/conda/bin/conda clean -tip && ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh && echo ". /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc
# 2026-02-22 07:14:08 0.00B
/bin/sh -c apt-get update --fix-missing && apt-get install -y bzip2 ca-certificates wget git && apt-get clean && rm -rf /var/lib/apt/lists/*
# 2026-02-22 07:14:06 0.00B
/bin/sh -c #(nop) ENV PATH=/opt/conda/bin:$PATH
# 2026-02-22 07:14:06 0.00B
/bin/sh -c #(nop) ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
# 2026-01-08 17:56:39 0.00B 设置工作目录为/workspace
WORKDIR /workspace
# 2026-01-08 17:56:39 9.01KB 执行命令并创建新的镜像层
RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c adduser --disabled-password --gecos 'dog' nonroot # buildkit
# 2026-01-08 17:56:38 35.83MB 执行命令并创建新的镜像层
RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c python -m pip install --upgrade pip setuptools wheel && python -m pip install pytest # buildkit
# 2026-01-08 17:56:14 0.00B 设置环境变量 PIP_CACHE_DIR PYTHONPYCACHEPREFIX XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME
ENV PIP_CACHE_DIR=/workspace/.cache/pip PYTHONPYCACHEPREFIX=/workspace/.cache/pycache XDG_CACHE_HOME=/workspace/.cache XDG_CONFIG_HOME=/workspace/.config XDG_DATA_HOME=/workspace/.local/share
# 2026-01-08 17:56:14 437.62MB 执行命令并创建新的镜像层
RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c apt-get update && apt-get install -y --no-install-recommends git curl wget unzip zip ca-certificates build-essential pkg-config cmake gnupg libssl-dev zlib1g-dev libffi-dev && rm -rf /var/lib/apt/lists/* # buildkit
# 2026-01-08 17:56:14 0.00B 设置环境变量 TZ
ENV TZ=Etc/UTC
# 2026-01-08 17:56:14 0.00B 定义构建参数
ARG DEBIAN_FRONTEND=noninteractive
# 2025-12-30 08:43:38 0.00B 设置默认要执行的命令
CMD ["python3"]
# 2025-12-30 08:43:38 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
# 2025-12-30 08:43:38 39.44MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends dpkg-dev gcc gnupg libbluetooth-dev libbz2-dev libc6-dev libdb-dev libffi-dev libgdbm-dev liblzma-dev libncursesw5-dev libreadline-dev libsqlite3-dev libssl-dev make tk-dev uuid-dev wget xz-utils zlib1g-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-optimizations --enable-option-checking=fatal --enable-shared $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; ldconfig; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' | sort -u | xargs -rt dpkg-query --search | awk 'sub(":$", "", $1) { print $1 }' | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; apt-get dist-clean; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 install --disable-pip-version-check --no-cache-dir --no-compile 'setuptools==79.0.1' 'wheel<0.46' ; pip3 --version # buildkit
# 2025-12-30 08:38:13 0.00B 设置环境变量 PYTHON_SHA256
ENV PYTHON_SHA256=c8f4a596572201d81dd7df91f70e177e19a70f1d489968b54b5fbbf29a97c076
# 2025-12-30 08:38:13 0.00B 设置环境变量 PYTHON_VERSION
ENV PYTHON_VERSION=3.10.19
# 2025-12-30 08:38:13 0.00B 设置环境变量 GPG_KEY
ENV GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D
# 2025-12-30 08:38:13 3.81MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates netbase tzdata ; apt-get dist-clean # buildkit
# 2025-12-30 08:38:13 0.00B 设置环境变量 LANG
ENV LANG=C.UTF-8
# 2025-12-30 08:38:13 0.00B 设置环境变量 PATH
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2025-12-29 08:00:00 78.62MB
# debian.sh --arch 'amd64' out/ 'trixie' '@1766966400'
镜像信息
{
"Id": "sha256:ce44e38620df5f2fb6e69fc0ab7913f786679ff793a2b8146c46114084216a0a",
"RepoTags": [
"swerebenchv2/cuthbertlab-music21:1475-d77f405",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/swerebenchv2/cuthbertlab-music21:1475-d77f405"
],
"RepoDigests": [
"swerebenchv2/cuthbertlab-music21@sha256:7c3b8f3d5431dc4fdac600905d19e226474487bf416057287c0f28699468d562",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/swerebenchv2/cuthbertlab-music21@sha256:d9521f51c634985279758b1dbbaed63295d24fef80ba9c3e7eaa8c9e4fae032a"
],
"Parent": "",
"Comment": "FROM docker.io/swerebenchv2/cuthbertlab-music21:1475-d77f405",
"Created": "2026-04-22T09:11:27.060741201Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "89f22c11d999",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D",
"PYTHON_VERSION=3.10.19",
"PYTHON_SHA256=c8f4a596572201d81dd7df91f70e177e19a70f1d489968b54b5fbbf29a97c076",
"TZ=Etc/UTC",
"PIP_CACHE_DIR=/workspace/.cache/pip",
"PYTHONPYCACHEPREFIX=/workspace/.cache/pycache",
"XDG_CACHE_HOME=/workspace/.cache",
"XDG_CONFIG_HOME=/workspace/.config",
"XDG_DATA_HOME=/workspace/.local/share",
"LANG=C.UTF-8",
"LC_ALL=C.UTF-8",
"NO_CONDA=1",
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/conda/bin:/opt/conda/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": [
"python3"
],
"Image": "",
"Volumes": null,
"WorkingDir": "/music21",
"Entrypoint": null,
"OnBuild": [],
"Labels": {
"io.buildah.version": "1.38.1"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 4296574928,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/99e94c57dd374338c9673070216684c3b08896c541e8acd719d8ae5c1dfb24a7/diff:/var/lib/docker/overlay2/606fdaf89921726e4695066712b69c4b16653850f317dd34486ab8fe3e62e0ad/diff:/var/lib/docker/overlay2/740ae21a6045b494f498aadf4021e48a437bab765102c09d6eb86ee7535d8a05/diff:/var/lib/docker/overlay2/03e1bb58fcc62c8b451ee3fde353f252dcd037bf8ca129128da80899ae332cc7/diff:/var/lib/docker/overlay2/776a80dd75af0a258f9c53e79138749e7a2eff8d925f51e6e893204ee626ee13/diff:/var/lib/docker/overlay2/8b80d07400537794ea920014161064ebee5acfaec873f103b6e189cfed6c1e62/diff:/var/lib/docker/overlay2/36ee59a9df91bce6c75efa0b6e673767b83eda4385a060887f99079f5a3b0c37/diff:/var/lib/docker/overlay2/429b72befd6a5a92bdc8a09eb2335a794b34236e2eb6c3e8affa96189443cdfa/diff:/var/lib/docker/overlay2/2936cef474712a2f6fb070a96c802e438f8658e18963c2c93a872010afd495bd/diff:/var/lib/docker/overlay2/631ad205d4c6e320badf657e0f18f3bec6bb44eec0335053fe5c589d8459bddf/diff",
"MergedDir": "/var/lib/docker/overlay2/ece8e9e445f625d2b00bc343c8607d9cae63f0b56044c6020d7bfcb07c410898/merged",
"UpperDir": "/var/lib/docker/overlay2/ece8e9e445f625d2b00bc343c8607d9cae63f0b56044c6020d7bfcb07c410898/diff",
"WorkDir": "/var/lib/docker/overlay2/ece8e9e445f625d2b00bc343c8607d9cae63f0b56044c6020d7bfcb07c410898/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:6a7f953ae30c9f480e6eaf7be8b1ba742bce57a3a83c43e927348e763cff7472",
"sha256:b12fdd0942e9aab40c2dfe4b6079f8ab0e9e57928fdac5941d546391df408cae",
"sha256:75b5fbf56130eab1b85740d2d34bf181ba59e06bec664297a1fe2391984acacd",
"sha256:b4ddb5dc2e027533b37784b45ce7fe35bcfbf8a160b7cf46559252312b502a02",
"sha256:46567c4e5600ef33e783342ac387d64062b393811c98ce2c81e8fff2a740c3c8",
"sha256:8e95b4719ea554f70f072a7a9231ea4c3a0a343c87fd13c3e131847d104e96a8",
"sha256:732e6c17cadda882dd9834daeab7f834c91f2b9cb0e13e29e50ce691f3db2d96",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:2ac3fd2ef939fce646e81973bc23543e5cfc216abf7b7d486d1bccd8f641e70a",
"sha256:a7592998ed0c46cb814627f15ab76ad8265785e276d09e3030ebcfb8a7a5dd68",
"sha256:09872484e6d6a4d727b2ffd84a64d97d9bbe7d9411328716a6fdb8aa8981136f"
]
},
"Metadata": {
"LastTagTime": "2026-09-25T06:10:03.776473158+08:00"
}
}