镜像构建历史
# 2026-06-05 03:30:10 0.00B 设置默认要执行的命令
CMD ["--help"]
# 2026-06-05 03:30:10 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["scanoss-py"]
# 2026-06-05 03:30:10 236.77MB 执行命令并创建新的镜像层
RUN /bin/sh -c scancode --package --only-findings --quiet --json /scanoss/scancode-dependencies.json /scanoss && rm -f /scanoss/scancode-dependencies.json # buildkit
# 2026-06-05 03:29:48 0.00B 设置工作目录为/scanoss
WORKDIR /scanoss
# 2026-06-05 03:29:48 83.10MB 执行命令并创建新的镜像层
RUN /bin/sh -c curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin # buildkit
# 2026-06-05 03:29:47 41.73MB 执行命令并创建新的镜像层
RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends jq curl libicu72 && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* # buildkit
# 2026-06-05 03:29:43 0.00B 设置环境变量 GRPC_POLL_STRATEGY
ENV GRPC_POLL_STRATEGY=poll
# 2026-06-05 03:29:43 0.00B 设置环境变量 PATH
ENV PATH=/opt/venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2026-06-05 03:29:43 212.35MB 复制新文件或目录到容器中
COPY /opt/venv /opt/venv # buildkit
# 2026-06-05 03:29:43 0.00B 添加元数据标签
LABEL org.opencontainers.image.licenses=MIT
# 2026-06-05 03:29:43 0.00B 添加元数据标签
LABEL org.opencontainers.image.description=SCANOSS Python CLI Container
# 2026-06-05 03:29:43 0.00B 添加元数据标签
LABEL org.opencontainers.image.source=https://github.com/scanoss/scanoss.py
# 2026-06-05 03:29:43 0.00B 添加元数据标签
LABEL maintainer=SCANOSS <infra@scanoss.com>
# 2026-05-20 07:54:07 0.00B 设置默认要执行的命令
CMD ["python3"]
# 2026-05-20 07:54: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-05-20 07:54:07 42.89MB 执行命令并创建新的镜像层
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; rm -rf /var/lib/apt/lists/*; 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
# 2026-05-20 07:47:49 0.00B 设置环境变量 PYTHON_SHA256
ENV PYTHON_SHA256=de6517421601e39a9a3bc3e1bc4c7b2f239297423ee05e282598c83ec0647505
# 2026-05-20 07:47:49 0.00B 设置环境变量 PYTHON_VERSION
ENV PYTHON_VERSION=3.10.20
# 2026-05-20 07:47:49 0.00B 设置环境变量 GPG_KEY
ENV GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D
# 2026-05-20 07:47:49 9.26MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates netbase tzdata ; rm -rf /var/lib/apt/lists/* # buildkit
# 2026-05-20 07:47:49 0.00B 设置环境变量 LANG
ENV LANG=C.UTF-8
# 2026-05-20 07:47:49 0.00B 设置环境变量 PATH
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2026-05-18 08:00:00 74.83MB
# debian.sh --arch 'amd64' out/ 'bookworm' '@1779062400'
镜像信息
{
"Id": "sha256:c8771f4e2a3cd7b329f82c16f05ac19ac6184ed1523d004655845a9e799a9479",
"RepoTags": [
"ghcr.io/scanoss/scanoss-py:latest",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/scanoss/scanoss-py:latest"
],
"RepoDigests": [
"ghcr.io/scanoss/scanoss-py@sha256:11dcdd94d149405ad7b0f7ee20c8b0aee414303938fad9485f05c64dcc1e7776",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/scanoss/scanoss-py@sha256:1f1d08b28dc3e26995a0e330ca182c692dd706c4b34be4546e906fdac0ce3191"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2026-06-04T19:30:10.262746659Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/opt/venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LANG=C.UTF-8",
"GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D",
"PYTHON_VERSION=3.10.20",
"PYTHON_SHA256=de6517421601e39a9a3bc3e1bc4c7b2f239297423ee05e282598c83ec0647505",
"GRPC_POLL_STRATEGY=poll"
],
"Cmd": [
"--help"
],
"ArgsEscaped": true,
"Image": "",
"Volumes": null,
"WorkingDir": "/scanoss",
"Entrypoint": [
"scanoss-py"
],
"OnBuild": null,
"Labels": {
"maintainer": "SCANOSS \u003cinfra@scanoss.com\u003e",
"org.opencontainers.image.created": "2026-06-04T19:31:33.122Z",
"org.opencontainers.image.description": "The SCANOSS python package providing a simple, easy to consume library for interacting with SCANOSS APIs/Engine.",
"org.opencontainers.image.licenses": "MIT",
"org.opencontainers.image.revision": "8967faa5b81dd2ad0151d5009df8bceda780770d",
"org.opencontainers.image.source": "https://github.com/scanoss/scanoss.py",
"org.opencontainers.image.title": "scanoss.py",
"org.opencontainers.image.url": "https://github.com/scanoss/scanoss.py",
"org.opencontainers.image.version": "v1.53.1"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 700916587,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/21d6d7df3b8c5054a39f7414e36d0d1b5afe8e59d4be79f386b98afad8d1df84/diff:/var/lib/docker/overlay2/3801ed6f4496a5cc4285700f674b246ed15006abdd7d19e4ab2aa5bfab6b2f8d/diff:/var/lib/docker/overlay2/7c7c499b663d4a7a5d61c2fa5ccce40754c1ccb435b9f580cfa99507c383fad8/diff:/var/lib/docker/overlay2/c8531a35f5d34c168551d038117f9e64fce547453784b2e3777455d7bf48c899/diff:/var/lib/docker/overlay2/ecf44e47db71421a8991701415a3cc82c9e7d910c0007e21b65d6a5d8586f307/diff:/var/lib/docker/overlay2/be5e16fb571acec2f3c0307a428b648f8129d28fa23018c37f6bec7a076e906c/diff:/var/lib/docker/overlay2/4d05baaace53a965b05ec4c52f4c51a1947853cfb6486ffbc62c7fbe58280f11/diff:/var/lib/docker/overlay2/f31bfa56a7a89043b8b344f0b40dd25ed8ef40dde9d94740552e14f9bd2c73ab/diff",
"MergedDir": "/var/lib/docker/overlay2/426c2c31e0d5f9dd40eaec2ee7b09ab4614041e636755d9a078e86501c849f9c/merged",
"UpperDir": "/var/lib/docker/overlay2/426c2c31e0d5f9dd40eaec2ee7b09ab4614041e636755d9a078e86501c849f9c/diff",
"WorkDir": "/var/lib/docker/overlay2/426c2c31e0d5f9dd40eaec2ee7b09ab4614041e636755d9a078e86501c849f9c/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:b2008ac19409fa6fee4b52596271400498aebd0be04dffac5351bd1dcf230f2a",
"sha256:49e74fd3210a35609156b0768c0a0e5fd7fea7899cb010313b06c240deb070a0",
"sha256:1d0e13c9f7eba192b6f88269bd34c8f3caae74d08c01e0f2936b6ebb7cfd3377",
"sha256:40e9369b9d6ba8e1981cb7b92ed4765625d53b0a8a6f5e5ff06b5a2c0db232f9",
"sha256:b846fd4116f964d68bb001e474d666124b24e51ab653effe8f2dffd9aa2cdfdf",
"sha256:f1abdac2584dfd4317669ee2f5297d64a80fdc7ae8a8302e42d787a25cd5df04",
"sha256:f1f1b95232f4bee043c1cce898553e42c53163726fa94a7bc5f997eba1b98b43",
"sha256:891dc6e7aa2cff5202a70fd9f4b6935265c8408fbe7616c835f6ac4a606aed76",
"sha256:d06ad8f6f592495aebaf60c2b0a3e8036d9322882589ede16fd5f9c084ff8f6a"
]
},
"Metadata": {
"LastTagTime": "2026-06-09T13:58:16.845982919+08:00"
}
}