镜像构建历史
# 2026-07-24 04:49:32 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/usr/local/bin/start-app.sh"]
# 2026-07-24 04:49:32 0.00B 指定检查容器健康状态的命令
HEALTHCHECK {Test:[CMD-SHELL wget -qO- http://127.0.0.1:8080/health || exit 1] Interval:30s Timeout:5s StartPeriod:0s StartInterval:0s Retries:3}
# 2026-07-24 04:49:32 0.00B 声明容器运行时监听的端口
EXPOSE [8080/tcp]
# 2026-07-24 04:49:32 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c chmod +x /usr/local/bin/start-app.sh # buildkit
# 2026-07-24 04:49:32 120.00B 复制新文件或目录到容器中
COPY docker/scripts/start-app.sh /usr/local/bin/start-app.sh # buildkit
# 2026-07-24 04:49:32 12.74MB 复制新文件或目录到容器中
COPY /ui/out /usr/share/nginx/html # buildkit
# 2026-07-24 04:49:31 533.00B 复制新文件或目录到容器中
COPY docker/nginx/default.conf /etc/nginx/conf.d/default.conf # buildkit
# 2026-07-24 04:49:31 8.50MB 执行命令并创建新的镜像层
RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends nginx wget && rm -rf /var/lib/apt/lists/* # buildkit
# 2026-07-24 04:48:37 0.00B 指定运行容器时使用的用户
USER root
# 2026-07-24 04:48:37 0.00B 指定运行容器时使用的用户
USER withoutbg
# 2026-07-24 04:48:37 454.51MB 执行命令并创建新的镜像层
RUN |2 PRODUCT_VERSION=v3 MODEL_FILE=withoutbg-open-weights.onnx /bin/sh -c useradd --create-home --uid 1000 withoutbg && chown -R withoutbg:withoutbg /opt/withoutbg # buildkit
# 2026-07-24 04:48:36 454.50MB 复制新文件或目录到容器中
COPY /model/ /opt/withoutbg/v3/model/ # buildkit
# 2026-07-24 04:48:35 258.40MB 执行命令并创建新的镜像层
RUN |2 PRODUCT_VERSION=v3 MODEL_FILE=withoutbg-open-weights.onnx /bin/sh -c pip install --upgrade pip && pip install ".[cpu]" # buildkit
# 2026-07-24 04:44:43 754.00B 复制新文件或目录到容器中
COPY THIRD_PARTY_NOTICES.md /opt/withoutbg/v3/THIRD_PARTY_NOTICES.md # buildkit
# 2026-07-24 04:44:43 10.54KB 复制新文件或目录到容器中
COPY service/ service/ # buildkit
# 2026-07-24 04:44:43 12.76KB 复制新文件或目录到容器中
COPY model/ model/ # buildkit
# 2026-07-24 04:44:43 7.82KB 复制新文件或目录到容器中
COPY pyproject.toml README.md ./ # buildkit
# 2026-07-17 04:42:02 0.00B 设置工作目录为/app
WORKDIR /app
# 2026-07-17 04:42:02 1.02MB 执行命令并创建新的镜像层
RUN |2 PRODUCT_VERSION=v3 MODEL_FILE=withoutbg-open-weights.onnx /bin/sh -c apt-get update && apt-get install -y --no-install-recommends ca-certificates wget && rm -rf /var/lib/apt/lists/* # buildkit
# 2026-07-17 04:42:02 0.00B 添加元数据标签
LABEL org.opencontainers.image.source=https://github.com/withoutbg/withoutbg-inference org.opencontainers.image.licenses=Apache-2.0 org.opencontainers.image.documentation=https://withoutbg.com/open-model withoutbg.product_version=v3 withoutbg.model_version=10.0.0 withoutbg.variant=oss withoutbg.runtime=cpu withoutbg.license_url=https://withoutbg.com/open-model/license withoutbg.third_party_notices=/opt/withoutbg/v3/THIRD_PARTY_NOTICES.md
# 2026-07-17 04:42:02 0.00B 设置环境变量 WITHOUTBG_PRODUCT_VERSION WITHOUTBG_MODEL_PATH WITHOUTBG_ORT_PROVIDER PYTHONUNBUFFERED PIP_NO_CACHE_DIR
ENV WITHOUTBG_PRODUCT_VERSION=v3 WITHOUTBG_MODEL_PATH=/opt/withoutbg/v3/model/withoutbg-open-weights.onnx WITHOUTBG_ORT_PROVIDER=CPUExecutionProvider PYTHONUNBUFFERED=1 PIP_NO_CACHE_DIR=1
# 2026-07-17 04:42:02 0.00B 定义构建参数
ARG MODEL_FILE
# 2026-07-17 04:42:02 0.00B 定义构建参数
ARG PRODUCT_VERSION
# 2026-07-14 10:19:37 0.00B 设置默认要执行的命令
CMD ["python3"]
# 2026-07-14 10:19:37 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:19:37 43.60MB 执行命令并创建新的镜像层
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; rm -rf /var/lib/apt/lists/*; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit
# 2026-07-14 10:07:43 0.00B 设置环境变量 PYTHON_SHA256
ENV PYTHON_SHA256=c08bc65a81971c1dd5783182826503369466c7e67374d1646519adf05207b684
# 2026-07-14 10:07:43 0.00B 设置环境变量 PYTHON_VERSION
ENV PYTHON_VERSION=3.12.13
# 2026-07-14 10:07:43 0.00B 设置环境变量 GPG_KEY
ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
# 2026-07-14 10:07:43 9.25MB 执行命令并创建新的镜像层
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-07-14 10:07:43 0.00B 设置环境变量 LANG
ENV LANG=C.UTF-8
# 2026-07-14 10:07:43 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 97.21MB
# debian.sh --arch 'arm64' out/ 'bookworm' '@1783900800'
镜像信息
{
"Id": "sha256:e2abafdac4a773162307f00138dfda2916f5290c1ecdcfb26a1a9f12c3e2477a",
"RepoTags": [
"withoutbg/withoutbg-openweights-v3-app-cpu:sha-73bcf63",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/withoutbg/withoutbg-openweights-v3-app-cpu:sha-73bcf63-linuxarm64"
],
"RepoDigests": [
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/withoutbg/withoutbg-openweights-v3-app-cpu@sha256:aecc969eca9c902755b4ae3f46cf527c3da067d6009bc1b4ad0ea8b2f3e15a06"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2026-07-23T20:49:32.168278201Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "root",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"8080/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LANG=C.UTF-8",
"GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305",
"PYTHON_VERSION=3.12.13",
"PYTHON_SHA256=c08bc65a81971c1dd5783182826503369466c7e67374d1646519adf05207b684",
"WITHOUTBG_PRODUCT_VERSION=v3",
"WITHOUTBG_MODEL_PATH=/opt/withoutbg/v3/model/withoutbg-open-weights.onnx",
"WITHOUTBG_ORT_PROVIDER=CPUExecutionProvider",
"PYTHONUNBUFFERED=1",
"PIP_NO_CACHE_DIR=1"
],
"Cmd": null,
"Healthcheck": {
"Test": [
"CMD-SHELL",
"wget -qO- http://127.0.0.1:8080/health || exit 1"
],
"Interval": 30000000000,
"Timeout": 5000000000,
"Retries": 3
},
"Image": "",
"Volumes": null,
"WorkingDir": "/app",
"Entrypoint": [
"/usr/local/bin/start-app.sh"
],
"OnBuild": null,
"Labels": {
"org.opencontainers.image.documentation": "https://withoutbg.com/open-model",
"org.opencontainers.image.licenses": "Apache-2.0",
"org.opencontainers.image.source": "https://github.com/withoutbg/withoutbg-inference",
"withoutbg.license_url": "https://withoutbg.com/open-model/license",
"withoutbg.model_version": "10.0.0",
"withoutbg.product_version": "v3",
"withoutbg.runtime": "cpu",
"withoutbg.third_party_notices": "/opt/withoutbg/v3/THIRD_PARTY_NOTICES.md",
"withoutbg.variant": "oss"
}
},
"Architecture": "arm64",
"Os": "linux",
"Size": 1339773779,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/01a3d60fefdd5087348317abc40bfdaa055461833880f17ea133a949a9209794/diff:/var/lib/docker/overlay2/cd1198e9aa148368dc07fa84bae12970258304f523d828017dac24e6db732dee/diff:/var/lib/docker/overlay2/376a5133e970451f2cb7136aaa36ab2c07f211359a962fdf6f81b263fae662a2/diff:/var/lib/docker/overlay2/78b95e33bea6e85ddbc7eb0d869b562cb45b41a045d6004012e26a4454ff4985/diff:/var/lib/docker/overlay2/f9c062195048257fc4fc7d95b30b926a94c5a8ccdcf27399842618c5f6038831/diff:/var/lib/docker/overlay2/1d30c6f507f3a4049cabcc84fbcb5853ab1f6dff698c563484ba533907d7b224/diff:/var/lib/docker/overlay2/935c90de2b24f029e727cb501dd26f717bb12e5ac213edae604427dad52c0952/diff:/var/lib/docker/overlay2/be83842568dab19f15b205521918b990a85c6182502c6d9603482f4b28bec5d5/diff:/var/lib/docker/overlay2/1b13c0a0267fb3c4378ee2b5fbcfe20a58f2e585ec6c1e2ed0f2d7e091f67994/diff:/var/lib/docker/overlay2/4a27a7eeb735962d5fff2f960406f8410b60f3179f04019ebd2f3f665f75e88e/diff:/var/lib/docker/overlay2/d1c5af8b0e4719e3ba9b921aa1d9fdd90c80a56ef6278d3a0eba666c3180cd97/diff:/var/lib/docker/overlay2/a78a0d81b99686c2d79d66218c6b506ba3afe1dd92845d7abc63aeae442b97a9/diff:/var/lib/docker/overlay2/2d3f1bd857acc1271cb9fa1a1b51657e6cf513674eaabf1168b2f1d240f3a5c6/diff:/var/lib/docker/overlay2/a2fdee507be8406a868e86dabc49e9aa3c99b9c51cf1bcf7efc080365222a920/diff:/var/lib/docker/overlay2/592bab65c080e826f479698940e599658231fdc8581510e1c489dc846c5dfe6e/diff:/var/lib/docker/overlay2/5616cfc749019a5da0c5c548213410e84dfdae2a3a49244c31e781a2bbe70d34/diff:/var/lib/docker/overlay2/42377cfbaa96ebae9a9fd5d8f0f3b25d715b11bc3b61863dc5eef2a3044e8497/diff",
"MergedDir": "/var/lib/docker/overlay2/5b18c05ee057c3950221ad4320dbad113bb1bdc989575cf3ddf6d7f0a68297b4/merged",
"UpperDir": "/var/lib/docker/overlay2/5b18c05ee057c3950221ad4320dbad113bb1bdc989575cf3ddf6d7f0a68297b4/diff",
"WorkDir": "/var/lib/docker/overlay2/5b18c05ee057c3950221ad4320dbad113bb1bdc989575cf3ddf6d7f0a68297b4/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:12cdff3b039e28c684ffd2097ff5a66df274a8500966a1431038b05f50bcf096",
"sha256:10b5151be3c11f9fd9e64043eaf4bf1dffbacf770da5b29e4480b710be81511f",
"sha256:cdb2f937b2d0224e8694c43077267d2484502f0e45095b92a24e7eb4f7f484ed",
"sha256:705c229bb06a03dde6eebf73743ebcb18dff129274ac3564d114a8926d73a628",
"sha256:7538a1d9b66d186727fc7ca80ada95bba7a82bb7f5ea2c22963c3e18599985f1",
"sha256:61a35934c6d4183a0ec811336ca243a4a6ecb1928b4487efcf4a7cd91508b0c0",
"sha256:f9a21369b8b1403dfd568933a2a23050b93b2359d766fa09975c0bd7aa10567f",
"sha256:c518a66ff160e9e9aba6f562845c3f1ab104172de0fb0802f513fb1077b3cc47",
"sha256:e1502f5c475c7c62fb57a5fe7a23e8bf057f5b15e727b162cbe233c97641022a",
"sha256:cff58a1f154ef14e20abf419559bab2de75c6a258f8ef170542e47176672a051",
"sha256:d22841de0658c422f380b77cefaba6e155003a6d5ef773255390c7a58d86e62b",
"sha256:df62bda67293d2906355386ebdd214469226f49dc06ee29eae5948ff9ed19f7c",
"sha256:4fa4122e1745ebbb4acb744410118618638e7f979bed2ae63329cab1ef6a253a",
"sha256:d07b5ad90cdde645c82cccb044b07c475734e06c1de2e6de9e842225534a1486",
"sha256:5ff9783fd9366f1a587b2f74624b738ec9b94b0587a176dc35408d0cf2fd5777",
"sha256:ca60252ba38b88e93d5edf71efe9de3a9fd000fec2c28ef3075d3019cbb06bf2",
"sha256:ef6e5e6d0158fbfa07e251a07503090f6381da48cb9aed41717d7570334ec1e0",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef"
]
},
"Metadata": {
"LastTagTime": "2026-09-09T19:31:26.072905259+08:00"
}
}