镜像构建历史
# 2026-04-22 01:01:54 0.00B
/bin/sh
# 2026-02-22 06:32:52 5.61MB
/bin/sh -c #(nop) COPY file:f1c172afaee73a7aabb932a55b963119ea3d696e9e8ed55b25c22b24e6fdd75f in /swebench_matterhorn/swebench_instance.json
# 2026-02-22 06:32:50 0.00B
/bin/sh -c #(nop) WORKDIR /PythonFMU
# 2026-02-22 06:32:50 0.00B
/bin/sh -c <<-DOCKER_RUN_EOF
set -eux;
git clone -o origin https://github.com/NTNU-IHB/PythonFMU /PythonFMU;
chmod -R 777 /PythonFMU;
cd /PythonFMU;
git reset --hard 9a49e3aa0564a2730837a5232a82ab5791a1f71d;
( pip install -q -r requirements.txt ) || true;
( pip install -q -e . ) || true;
# Keep only the checked-out commit and remove refs/history that can point
# to newer commits.
git checkout --detach 9a49e3aa0564a2730837a5232a82ab5791a1f71d;
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 06:32:46 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 06:32:34 1.53GB
/bin/sh -c #(nop) ENV NO_CONDA=1
# 2026-02-22 06:32:27 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 06:32:20 0.00B
/bin/sh -c #(nop) COPY file:61604c43c292b48546055579c93885a922428ac04b5a3f2bd7c87a6a8208dbd4 in /
# 2026-02-22 06:32:20 0.00B
/bin/sh -c #(nop) COPY file:38d2cec6c3688d3db2fdf6a899d279ccf0f0bf78f9acc300722c98b6d67c4b26 in /
# 2026-02-22 06:32:19 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 06:32:12 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 06:32:09 0.00B
/bin/sh -c #(nop) ENV PATH=/opt/conda/bin:$PATH
# 2026-02-22 06:32:09 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:ba11cbf6ecf0a15055396ef0b922311ef8dd760645838507f1e148c7ba264165",
"RepoTags": [
"swerebenchv2/ntnu-ihb-pythonfmu:24-9a49e3a",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/swerebenchv2/ntnu-ihb-pythonfmu:24-9a49e3a"
],
"RepoDigests": [
"swerebenchv2/ntnu-ihb-pythonfmu@sha256:fd037b3ca26510fe99b2dc9a272d4c696c8fdc2b04bbb388a930dabe1f84d4d4",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/swerebenchv2/ntnu-ihb-pythonfmu@sha256:7b7271374dcd19230b2de7108deadb6eac9ec121259cc06a2d47490e00d0ac2c"
],
"Parent": "",
"Comment": "FROM docker.io/swerebenchv2/ntnu-ihb-pythonfmu:24-9a49e3a",
"Created": "2026-04-21T17:01:53.379075725Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "909f72492fc3",
"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": "/PythonFMU",
"Entrypoint": null,
"OnBuild": [],
"Labels": {
"io.buildah.version": "1.38.1"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 2131020151,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/574636934d4d5dcea7264cfa388c4af5ca848cdf9145937a74932b5623f8fd8a/diff:/var/lib/docker/overlay2/1417221adc49b119ba013a67d81773c418ee53b569b746adcd95ba47cdb166e7/diff:/var/lib/docker/overlay2/cdef7cdbcf7e7924e15080a33feb5484ad4b7e0c37a3a55c9749909f4ea31d67/diff:/var/lib/docker/overlay2/dd65d5152f1a0feba3dd5e04072b503f93feb6533aff77e9ef1dec5ed8d512c3/diff:/var/lib/docker/overlay2/83815cb8a799289630d1c615e42dc85437e9df1b8bc6b1c69472078ecc3fc777/diff:/var/lib/docker/overlay2/ca6a6929f47f6c090872862cc6099ae823901c0dfa8da74ab1b087d6fd9e19ab/diff:/var/lib/docker/overlay2/50b24469db9398d142d323f7bae2f593c8808dfaa9bfc202cf3039ef796d5e5a/diff:/var/lib/docker/overlay2/f5531b40f54104889309d8da24aa719bc4f3ae67d9e217bafb05c3251921897b/diff:/var/lib/docker/overlay2/ca03975323e8daa5d2f196b5d2ea5d9f1c86ede2922124b8b4bb0e989306829c/diff:/var/lib/docker/overlay2/603a445a71e2f4f9da3c9393210983f2471a14fa627ed335980e17e40379f7de/diff",
"MergedDir": "/var/lib/docker/overlay2/159c6b2fb70b6c5c5c2642b4c9f68277be930c5a64cc69e03b464a66f5887fde/merged",
"UpperDir": "/var/lib/docker/overlay2/159c6b2fb70b6c5c5c2642b4c9f68277be930c5a64cc69e03b464a66f5887fde/diff",
"WorkDir": "/var/lib/docker/overlay2/159c6b2fb70b6c5c5c2642b4c9f68277be930c5a64cc69e03b464a66f5887fde/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:6a7f953ae30c9f480e6eaf7be8b1ba742bce57a3a83c43e927348e763cff7472",
"sha256:b12fdd0942e9aab40c2dfe4b6079f8ab0e9e57928fdac5941d546391df408cae",
"sha256:75b5fbf56130eab1b85740d2d34bf181ba59e06bec664297a1fe2391984acacd",
"sha256:b4ddb5dc2e027533b37784b45ce7fe35bcfbf8a160b7cf46559252312b502a02",
"sha256:46567c4e5600ef33e783342ac387d64062b393811c98ce2c81e8fff2a740c3c8",
"sha256:8e95b4719ea554f70f072a7a9231ea4c3a0a343c87fd13c3e131847d104e96a8",
"sha256:732e6c17cadda882dd9834daeab7f834c91f2b9cb0e13e29e50ce691f3db2d96",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:8c9d93234e41dd154b03e7d279ea16a7c151a574c91a03a4d8510610d8323eaa",
"sha256:b1b06f6e04e057b13f7d5bcb72de4d7b27e2a0d20a7841694c1f8036e22cd32f",
"sha256:bb291f85e89f43de1d5f2059ad4c99c4b14abf3667c5720e7824b12879e04a43"
]
},
"Metadata": {
"LastTagTime": "2026-07-10T01:11:12.681789982+08:00"
}
}