ℹ️
注意:这是一个 latest 标签镜像

latest 并不代表最新版本,本站同步时间存在延迟,无法保证此镜像与上游最新版本一致。
生产环境建议使用明确的版本号(如 v1.2.3),避免因版本不一致导致问题。 了解更多 →

logo
docker.io/openbmbofficial/minicpm-ocr:latest
linux/amd64 docker.io 陶荣 贡献
36
浏览次数
20.45GB
镜像大小
国内镜像
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/openbmbofficial/minicpm-ocr:latest
源镜像
docker.io/openbmbofficial/minicpm-ocr:latest
镜像ID
sha256:d7496f83382fe69ad572a2fb680814db36c376359af00273f7574f266d4bf12d
镜像 TAG
latest
镜像大小
20.45GB
平台架构
linux/amd64
镜像源
docker.io
CMD
bash
启动入口
工作目录
OS/平台
linux/amd64
镜像创建
2026-11-03T20:37:48.439952878+08:00
同步时间
2026-11-07 01:54
浏览量
36 次
贡献者
avatar 陶荣
🔌 开放端口 1
8000/tcp
⚙️ 环境变量 25
KeyValue
PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 0
LANG=C.UTF-8 1
GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305 2
PYTHON_VERSION=3.12.15 3
PYTHON_SHA256=c2c4321961fab0fb999d66e0cecf521c2ab3994c7992873ea99e306c1094fd5a 4
DEBIAN_FRONTEND=noninteractive 5
UV_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple 6
UV_LINK_MODE=copy 7
UV_COMPILE_BYTECODE=0 8
UV_NO_CACHE=1 9
PYTHONNOUSERSITE=1 10
OCR_MODEL_PATH=/opt/models/ocr 11
OCR_SERVED_NAME=minicpm-ocr-1.0 12
OCR_SERVED_MODEL_NAME=minicpm-ocr-1.0 13
VLLM_URL=http://127.0.0.1:18499 14
OCR_VLLM_URL=http://127.0.0.1:18499 15
OCR_LAYOUT_MODEL_DIR=/opt/models/layout 16
OCR_LAYOUT_DEVICE=cuda:0 17
OCR_UPRIGHT_DIR=/opt/models/paddle_upright 18
OCRWEB_DATA_DIR=/tmp/webdemo-data 19
VLLM_GDN_PREFILL_BACKEND=triton 20
VLLM_USE_FLASHINFER_SAMPLER=0 21
VLLM_PLUGINS=lora_filesystem_resolver,lora_hf_hub_resolver 22
PORT=8000 23
OCR_GPU_UTIL=0.90 24

Docker拉取命令

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/openbmbofficial/minicpm-ocr:latest
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/openbmbofficial/minicpm-ocr:latest  docker.io/openbmbofficial/minicpm-ocr:latest

Containerd拉取命令

ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/openbmbofficial/minicpm-ocr:latest
ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/openbmbofficial/minicpm-ocr:latest  docker.io/openbmbofficial/minicpm-ocr:latest

Shell快速替换命令

sed -i 's#openbmbofficial/minicpm-ocr:latest#swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/openbmbofficial/minicpm-ocr:latest#' deployment.yaml

Ansible快速分发-Docker

#ansible k8s -m shell -a 'docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/openbmbofficial/minicpm-ocr:latest && docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/openbmbofficial/minicpm-ocr:latest  docker.io/openbmbofficial/minicpm-ocr:latest'

Ansible快速分发-Containerd

#ansible k8s -m shell -a 'ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/openbmbofficial/minicpm-ocr:latest && ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/openbmbofficial/minicpm-ocr:latest  docker.io/openbmbofficial/minicpm-ocr:latest'

镜像构建历史


# 2026-11-03 20:37:48  0.00B 设置默认要执行的命令
CMD ["bash"]
                        
# 2026-11-03 20:37:48  0.00B 配置容器启动时运行的命令
ENTRYPOINT []
                        
# 2026-11-03 20:37:48  0.00B 执行命令并创建新的镜像层
RUN |1 SDK_TAG=sdk-v1.0.4 /bin/sh -c /opt/venv/bin/python -s /opt/hf-sync/hf_weight_sync.py       --target /opt/models/ocr --state /tmp/build-check-manifest.json --check-only       && rm -f /tmp/build-check-manifest.json       || echo "[build] 自检未完成(exit=$?),不影响镜像" # buildkit
                        
# 2026-11-03 20:35:18  38.03KB 执行命令并创建新的镜像层
RUN |1 SDK_TAG=sdk-v1.0.4 /bin/sh -c /opt/venv/bin/python -s - <<'PYEOF'
import hashlib, json, pathlib, sys, time
sys.path.insert(0, "/opt/hf-sync")
import hf_weight_sync as s

d = pathlib.Path("/opt/models/ocr")

def sha256_file(p):
    h = hashlib.sha256()
    with p.open("rb") as f:
        for chunk in iter(lambda: f.read(1 << 22), b""):
            h.update(chunk)
    return h.hexdigest()

def local_fingerprint():
    weights, files = [], {}
    for p in sorted(d.rglob("*")):
        if not p.is_file():
            continue
        rel = p.relative_to(d).as_posix()
        if rel.startswith(s.IGNORED_PREFIXES):
            continue
        if any(p.match(pat) for pat in s.WEIGHT_PATTERNS):
            weights.append({"path": rel, "size": p.stat().st_size, "oid": sha256_file(p)})
        else:
            data = p.read_bytes()
            files[rel] = hashlib.sha1(b"blob %d\x00" % len(data) + data).hexdigest()
    assert weights, "没找到权重文件"
    return {"repo": s.REPO_ID, "revision": s.REVISION,
            "weights": sorted(weights, key=lambda w: w["path"]),
            "files": files, "tensor_count": None}

local = local_fingerprint()
try:
    remote = s.fingerprint(s.fetch_entries(s.REPO_ID, s.REVISION,
                                           endpoints=s.DEFAULT_ENDPOINTS))
except Exception as exc:
    print(f"[bake] 拉不到远端指纹({exc}),烤本地指纹")
    m = local
else:
    local_oids = {w["path"]: w["oid"] for w in local["weights"]}
    remote_oids = {w["path"]: w["oid"] for w in remote["weights"]}
    if local_oids == remote_oids:
        print(f"[bake] 内置权重 == 远端最新({list(remote_oids.values())[0][:12]}),烤远端指纹")
        m = remote
    else:
        print(f"[bake] 内置权重落后于远端(本地 {list(local_oids.values())[0][:12]}"
              f" vs 远端 {list(remote_oids.values())[0][:12]}),烤本地指纹,首跑会自动更新")
        m = local

m["applied_at"] = "baked " + time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime())
pathlib.Path("/opt/models/.hf-ocr-manifest.json").write_text(
    json.dumps(m, indent=2, sort_keys=True) + "\n", "utf-8")
PYEOF # buildkit
                        
# 2026-11-03 20:29:37  3.50KB 执行命令并创建新的镜像层
RUN |1 SDK_TAG=sdk-v1.0.4 /bin/sh -c chmod +x /entrypoint.sh  && bash -n /entrypoint.sh  && /opt/venv/bin/python -s /opt/hf-sync/hf_weight_sync.py --help > /dev/null  && grep -q "hf_weight_sync.py" /entrypoint.sh  && test -f /opt/models/ocr/config.json # buildkit
                        
# 2026-11-03 20:29:37  3.50KB 复制新文件或目录到容器中
COPY ocr-api/vlm-entrypoint.sh /entrypoint.sh # buildkit
                        
# 2026-11-03 20:29:37  0.00B 复制新文件或目录到容器中
COPY ocr-api/scripts/hf_weight_sync.py /opt/hf-sync/hf_weight_sync.py # buildkit
                        
# 2026-11-03 20:29:36  26.04KB 复制新文件或目录到容器中
COPY ocr-api/scripts/hf_weight_sync.py /opt/hf-sync/hf_weight_sync.py # buildkit
                        
# 2026-11-03 20:29:36  77.53MB 执行命令并创建新的镜像层
RUN |1 SDK_TAG=sdk-v1.0.4 /bin/sh -c curl -fsSL "https://github.com/OpenBMB/MiniCPM-OCR/archive/refs/tags/${SDK_TAG}.tar.gz" -o /tmp/repo.tgz  && mkdir -p /opt/app-new  && tar -xzf /tmp/repo.tgz -C /opt/app-new --strip-components=1  && rm -f /tmp/repo.tgz  && uv pip uninstall --python /opt/venv/bin/python minicpmvocr minicpm-ocr || true  && rm -rf /opt/app  && mv /opt/app-new /opt/app  && uv pip install --python /opt/venv/bin/python --no-cache --no-deps /opt/app/sdk  && /opt/venv/bin/python -s -c "import importlib.metadata as m; assert m.version('minicpm-ocr') == '1.0.4', m.version('minicpm-ocr'); import minicpmvocr; assert '/opt/app/' not in minicpmvocr.__file__, minicpmvocr.__file__; from minicpmvocr import pipelined_run, UprightCorrector; print('MiniCPM-OCR', m.version('minicpm-ocr'), minicpmvocr.__file__)"  && test -f /opt/app/sdk/pyproject.toml # buildkit
                        
# 2026-11-03 20:29:36  0.00B 定义构建参数
ARG SDK_TAG=sdk-v1.0.4
                        
# 2026-10-23 16:18:12  0.00B 
/bin/sh -c #(nop)  ENTRYPOINT ["/entrypoint.sh"]
                        
# 2026-10-23 16:17:56  0.00B 
/bin/sh -c #(nop)  ENV OCR_MODEL_PATH=/opt/models/ocr OCR_SERVED_NAME=minicpm-ocr-1.0 OCR_GPU_UTIL=0.90 VLLM_GDN_PREFILL_BACKEND=triton
                        
# 2026-10-23 16:17:41  0.00B 
/bin/sh -c chmod 755 /entrypoint.sh
                        
# 2026-10-23 16:17:24  1.64KB 
/bin/sh -c #(nop) COPY file:ff0c57cb28b20d9337d1a061a460975ea9e7f750d1476bbd2802f3e10d71611d in /entrypoint.sh 
                        
# 2026-10-21 15:17:21  0.00B 设置默认要执行的命令
CMD []
                        
# 2026-10-21 15:17:21  0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/entrypoint.sh"]
                        
# 2026-10-21 15:17:21  0.00B 指定检查容器健康状态的命令
HEALTHCHECK &{["CMD-SHELL" "curl -fs http://127.0.0.1:${PORT}/ready >/dev/null || exit 1"] "30s" "5s" "20m0s" "0s" '\x03'}
                        
# 2026-10-21 15:17:21  0.00B 声明容器运行时监听的端口
EXPOSE [8000/tcp]
                        
# 2026-10-21 15:17:21  0.00B 设置环境变量 OCR_MODEL_PATH OCR_SERVED_NAME OCR_SERVED_MODEL_NAME VLLM_URL OCR_VLLM_URL OCR_LAYOUT_MODEL_DIR OCR_LAYOUT_DEVICE OCR_UPRIGHT_DIR OCRWEB_DATA_DIR VLLM_GDN_PREFILL_BACKEND VLLM_USE_FLASHINFER_SAMPLER VLLM_PLUGINS PYTHONNOUSERSITE PORT
ENV OCR_MODEL_PATH=/opt/models/ocr OCR_SERVED_NAME=minicpm-ocr-1.0 OCR_SERVED_MODEL_NAME=minicpm-ocr-1.0 VLLM_URL=http://127.0.0.1:18499 OCR_VLLM_URL=http://127.0.0.1:18499 OCR_LAYOUT_MODEL_DIR=/opt/models/layout OCR_LAYOUT_DEVICE=cuda:0 OCR_UPRIGHT_DIR=/opt/models/paddle_upright OCRWEB_DATA_DIR=/tmp/webdemo-data VLLM_GDN_PREFILL_BACKEND=triton VLLM_USE_FLASHINFER_SAMPLER=0 VLLM_PLUGINS=lora_filesystem_resolver,lora_hf_hub_resolver PYTHONNOUSERSITE=1 PORT=8000
                        
# 2026-10-21 15:17:21  45.00B 执行命令并创建新的镜像层
RUN /bin/sh -c printf '#!/usr/bin/env bash\nexec /entrypoint.sh "$@"\n' > /usr/local/bin/vllm  && chmod +x /entrypoint.sh /usr/local/bin/vllm # buildkit
                        
# 2026-10-21 15:17:20  3.83KB 复制新文件或目录到容器中
COPY entrypoint.sh /entrypoint.sh # buildkit
                        
# 2026-10-21 15:17:20  46.19KB 执行命令并创建新的镜像层
RUN /bin/sh -c uv pip install --python /opt/venv/bin/python --no-build-isolation --no-deps -e /opt/app  && /opt/venv/bin/python -c "import minicpmvocr, sys; assert minicpmvocr.__file__.startswith('/opt/app/'), minicpmvocr.__file__" # buildkit
                        
# 2026-10-21 15:17:18  470.82KB 复制新文件或目录到容器中
COPY app /opt/app # buildkit
                        
# 2026-10-21 15:17:18  0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c rm -rf /workspace/minicpmvocr-sdk # buildkit
                        
# 2026-10-21 15:17:18  0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c test -f /opt/models/ocr/config.json && test -f /opt/models/layout/inference.pdiparams  && test -d /opt/models/paddle_upright/PP-LCNet_x1_0_doc_ori # buildkit
                        
# 2026-10-21 15:17:17  18.64MB 复制新文件或目录到容器中
COPY models/paddle_upright /opt/models/paddle_upright # buildkit
                        
# 2026-10-20 21:12:06  132.02MB 复制新文件或目录到容器中
COPY models/layout /opt/models/layout # buildkit
                        
# 2026-10-20 21:12:05  2.61GB 复制新文件或目录到容器中
COPY models/ocr /opt/models/ocr # buildkit
                        
# 2026-10-19 20:59:37  246.95KB 执行命令并创建新的镜像层
RUN |6 PIP_INDEX=https://pypi.tuna.tsinghua.edu.cn/simple PADDLE_INDEX=https://www.paddlepaddle.org.cn/packages/stable/cu129/ TORCH_FIND_LINKS=https://mirrors.aliyun.com/pytorch-wheels/cu129/ VLLM_BASE_COMMIT=5555a2d8f7116b2b4877f66516f4128176cf722a VLLM_VERSION=0.31.1rc1.dev379+g484a12539 TRANSFORMERS_VERSION=5.19.0.dev0 /bin/sh -c /opt/venv/bin/python -c "from importlib.metadata import version as v, distributions; import cv2, torch, torchcodec.decoders; assert torch.version.cuda.startswith('12.9'), torch.version.cuda; assert hasattr(cv2, 'ximgproc'), 'cv2 is not opencv-contrib'; cu13 = sorted(d.metadata['Name'] for d in distributions() if d.metadata['Name'].lower().startswith('nvidia-cuda-') and not d.metadata['Name'].lower().endswith('-cu12')); assert not cu13, 'CUDA 13 runtime packages present: %s' % cu13; print('vllm', v('vllm'), '| torch', torch.__version__, '| torchcodec', v('torchcodec'), '| paddle', v('paddlepaddle-gpu'), '| paddlex', v('paddlex'), '| cv2', cv2.__version__)" # buildkit
                        
# 2026-10-19 20:59:34  1.97GB 执行命令并创建新的镜像层
RUN |6 PIP_INDEX=https://pypi.tuna.tsinghua.edu.cn/simple PADDLE_INDEX=https://www.paddlepaddle.org.cn/packages/stable/cu129/ TORCH_FIND_LINKS=https://mirrors.aliyun.com/pytorch-wheels/cu129/ VLLM_BASE_COMMIT=5555a2d8f7116b2b4877f66516f4128176cf722a VLLM_VERSION=0.31.1rc1.dev379+g484a12539 TRANSFORMERS_VERSION=5.19.0.dev0 /bin/sh -c SETUPTOOLS_SCM_PRETEND_VERSION=${TRANSFORMERS_VERSION}       uv pip install --python /opt/venv/bin/python --no-deps /opt/src/transformers  && VLLM_USE_PRECOMPILED=1     VLLM_PRECOMPILED_WHEEL_COMMIT=${VLLM_BASE_COMMIT}     VLLM_MAIN_CUDA_VERSION=12.9     SETUPTOOLS_SCM_PRETEND_VERSION=${VLLM_VERSION}       uv pip install --python /opt/venv/bin/python --no-deps --no-build-isolation /opt/src/vllm  && uv pip install --python /opt/venv/bin/python --no-deps --reinstall opencv-contrib-python==4.10.0.84  && uv pip install --python /opt/venv/bin/python --no-deps --reinstall "paddlex[ocr]==3.7.2"  && rm -rf /opt/src # buildkit
                        
# 2026-10-19 20:55:08  125.31MB 复制新文件或目录到容器中
COPY stage/vllm /opt/src/vllm # buildkit
                        
# 2026-10-19 20:55:06  96.05MB 复制新文件或目录到容器中
COPY stage/transformers /opt/src/transformers # buildkit
                        
# 2026-10-19 20:55:04  14.82GB 执行命令并创建新的镜像层
RUN |6 PIP_INDEX=https://pypi.tuna.tsinghua.edu.cn/simple PADDLE_INDEX=https://www.paddlepaddle.org.cn/packages/stable/cu129/ TORCH_FIND_LINKS=https://mirrors.aliyun.com/pytorch-wheels/cu129/ VLLM_BASE_COMMIT=5555a2d8f7116b2b4877f66516f4128176cf722a VLLM_VERSION=0.31.1rc1.dev379+g484a12539 TRANSFORMERS_VERSION=5.19.0.dev0 /bin/sh -c uv venv /opt/venv --python /usr/local/bin/python3.12  && uv pip install --python /opt/venv/bin/python --no-deps       --extra-index-url ${PADDLE_INDEX} --find-links ${TORCH_FIND_LINKS}       --index-strategy unsafe-best-match       -r /tmp/requirements.lock  && uv pip install --python /opt/venv/bin/python       "cmake>=3.26.1" setuptools-scm "setuptools-rust>=1.9.0" wheel # buildkit
                        
# 2026-10-19 20:47:13  27.02KB 复制新文件或目录到容器中
COPY requirements.lock /tmp/requirements.lock # buildkit
                        
# 2026-10-19 17:29:59  468.67MB 执行命令并创建新的镜像层
RUN |6 PIP_INDEX=https://pypi.tuna.tsinghua.edu.cn/simple PADDLE_INDEX=https://www.paddlepaddle.org.cn/packages/stable/cu129/ TORCH_FIND_LINKS=https://mirrors.aliyun.com/pytorch-wheels/cu129/ VLLM_BASE_COMMIT=5555a2d8f7116b2b4877f66516f4128176cf722a VLLM_VERSION=0.31.1rc1.dev379+g484a12539 TRANSFORMERS_VERSION=5.19.0.dev0 /bin/sh -c sed -i 's|deb.debian.org|mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list.d/debian.sources  && apt-get update && apt-get install -y --no-install-recommends       gcc libc6-dev libgl1 libglib2.0-0 libgomp1 curl ca-certificates  && rm -rf /var/lib/apt/lists/*  && pip install --no-cache-dir -i ${PIP_INDEX} uv # buildkit
                        
# 2026-10-19 17:29:59  0.00B 设置环境变量 DEBIAN_FRONTEND UV_INDEX_URL UV_LINK_MODE UV_COMPILE_BYTECODE UV_NO_CACHE PYTHONNOUSERSITE
ENV DEBIAN_FRONTEND=noninteractive UV_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple UV_LINK_MODE=copy UV_COMPILE_BYTECODE=0 UV_NO_CACHE=1 PYTHONNOUSERSITE=1
                        
# 2026-10-19 17:29:59  0.00B 定义构建参数
ARG TRANSFORMERS_VERSION=5.19.0.dev0
                        
# 2026-10-19 17:29:59  0.00B 定义构建参数
ARG VLLM_VERSION=0.31.1rc1.dev379+g484a12539
                        
# 2026-10-19 17:29:59  0.00B 定义构建参数
ARG VLLM_BASE_COMMIT=5555a2d8f7116b2b4877f66516f4128176cf722a
                        
# 2026-10-19 17:29:59  0.00B 定义构建参数
ARG TORCH_FIND_LINKS=https://mirrors.aliyun.com/pytorch-wheels/cu129/
                        
# 2026-10-19 17:29:59  0.00B 定义构建参数
ARG PADDLE_INDEX=https://www.paddlepaddle.org.cn/packages/stable/cu129/
                        
# 2026-10-19 17:29:59  0.00B 定义构建参数
ARG PIP_INDEX=https://pypi.tuna.tsinghua.edu.cn/simple
                        
# 2026-10-06 10:04:40  0.00B 设置默认要执行的命令
CMD ["python3"]
                        
# 2026-10-06 10:04:40  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-10-06 10:04:40  36.81MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; 		savedAptMark="$(apt-mark showmanual)"; 	apt-get update; 	apt-get install -y --no-install-recommends 		dpkg-dev 		g++ 		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; 	apt-get dist-clean; 		export PYTHONDONTWRITEBYTECODE=1; 	python3 --version; 	pip3 --version # buildkit
                        
# 2026-10-06 09:55:57  0.00B 设置环境变量 PYTHON_SHA256
ENV PYTHON_SHA256=c2c4321961fab0fb999d66e0cecf521c2ab3994c7992873ea99e306c1094fd5a
                        
# 2026-10-06 09:55:57  0.00B 设置环境变量 PYTHON_VERSION
ENV PYTHON_VERSION=3.12.15
                        
# 2026-10-06 09:55:57  0.00B 设置环境变量 GPG_KEY
ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
                        
# 2026-10-06 09:55:57  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
                        
# 2026-10-06 09:55:57  0.00B 设置环境变量 LANG
ENV LANG=C.UTF-8
                        
# 2026-10-06 09:55:57  0.00B 设置环境变量 PATH
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
                        
# 2026-10-05 08:00:00  78.82MB 
# debian.sh --arch 'amd64' out/ 'trixie' '@1791158400'
                        
                    

镜像信息

{
    "Id": "sha256:d7496f83382fe69ad572a2fb680814db36c376359af00273f7574f266d4bf12d",
    "RepoTags": [
        "openbmbofficial/minicpm-ocr:latest",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/openbmbofficial/minicpm-ocr:latest"
    ],
    "RepoDigests": [
        "openbmbofficial/minicpm-ocr@sha256:7c397ed0301736f7c9c29a3f9ec5c698a36592c73b2cb1dfd78fe2ad5e7ab773",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/openbmbofficial/minicpm-ocr@sha256:79f4267ed9e2ff49480e3e5e9e8e9509f316b9d19f64e2892dc978630ac494a3"
    ],
    "Parent": "",
    "Comment": "buildkit.dockerfile.v0",
    "Created": "2026-11-03T20:37:48.439952878+08:00",
    "Container": "",
    "ContainerConfig": null,
    "DockerVersion": "",
    "Author": "",
    "Config": {
        "Hostname": "",
        "Domainname": "",
        "User": "",
        "AttachStdin": false,
        "AttachStdout": false,
        "AttachStderr": false,
        "ExposedPorts": {
            "8000/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.15",
            "PYTHON_SHA256=c2c4321961fab0fb999d66e0cecf521c2ab3994c7992873ea99e306c1094fd5a",
            "DEBIAN_FRONTEND=noninteractive",
            "UV_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple",
            "UV_LINK_MODE=copy",
            "UV_COMPILE_BYTECODE=0",
            "UV_NO_CACHE=1",
            "PYTHONNOUSERSITE=1",
            "OCR_MODEL_PATH=/opt/models/ocr",
            "OCR_SERVED_NAME=minicpm-ocr-1.0",
            "OCR_SERVED_MODEL_NAME=minicpm-ocr-1.0",
            "VLLM_URL=http://127.0.0.1:18499",
            "OCR_VLLM_URL=http://127.0.0.1:18499",
            "OCR_LAYOUT_MODEL_DIR=/opt/models/layout",
            "OCR_LAYOUT_DEVICE=cuda:0",
            "OCR_UPRIGHT_DIR=/opt/models/paddle_upright",
            "OCRWEB_DATA_DIR=/tmp/webdemo-data",
            "VLLM_GDN_PREFILL_BACKEND=triton",
            "VLLM_USE_FLASHINFER_SAMPLER=0",
            "VLLM_PLUGINS=lora_filesystem_resolver,lora_hf_hub_resolver",
            "PORT=8000",
            "OCR_GPU_UTIL=0.90"
        ],
        "Cmd": [
            "bash"
        ],
        "Healthcheck": {
            "Test": [
                "CMD-SHELL",
                "curl -fs http://127.0.0.1:${PORT}/ready \u003e/dev/null || exit 1"
            ],
            "Interval": 30000000000,
            "Timeout": 5000000000,
            "StartPeriod": 1200000000000,
            "Retries": 3
        },
        "ArgsEscaped": true,
        "Image": "",
        "Volumes": null,
        "WorkingDir": "",
        "Entrypoint": null,
        "OnBuild": null,
        "Labels": null
    },
    "Architecture": "amd64",
    "Os": "linux",
    "Size": 20445500494,
    "GraphDriver": {
        "Data": {
            "LowerDir": "/var/lib/docker/overlay2/7f2871654e30b6e935eaf5cf2f4a862d486ab3ffbc333a2e02156936138d8695/diff:/var/lib/docker/overlay2/fc1444887914aa1510b1332c00e4ab3c456d1724fbb32109531f5407d6efb447/diff:/var/lib/docker/overlay2/0f7f140c0340b025ba0418d3179ce711f9a641959a9151355ca72d45329c73dd/diff:/var/lib/docker/overlay2/a32ef0ff0d83e488025ed830974360d995dddcbb4978b6bc465dcabb2fdaebb3/diff:/var/lib/docker/overlay2/234a39fce6dc2b34d423ee33641bdac6d204d1db13d03d008da7289decca48ca/diff:/var/lib/docker/overlay2/93dd73862e2b3a8323559fa3a232feae534fad834d6d12346a750bfdc9d374c9/diff:/var/lib/docker/overlay2/76082cf0eccbad3e1c8f576a09595220596d05534c14dac8ccc1ea79cc82c267/diff:/var/lib/docker/overlay2/6dc5e899ed9dfff46ab504db1dd05b317c579067a92f6b64a0cdb5fddea85667/diff:/var/lib/docker/overlay2/39b07409685c53c062e0d58aaafaac01f0a64f424b03623cf58cbac83ed28734/diff:/var/lib/docker/overlay2/c83e47b3082469dc2b7dc4065f3ebeaa32a01e2291ae67d7add2c4e357637f43/diff:/var/lib/docker/overlay2/ff778dcbb9fe19f2be35390ab98f32693da34fde56be3e0ffcfc690571d20e2f/diff:/var/lib/docker/overlay2/f460a11db641b40edf757c1787e0688de318a34b10e6c4c4c31bd2668d78e427/diff:/var/lib/docker/overlay2/22e0420ef91b250018cb3caa7c5a07eb27d9eeaf667544177d21e9fcb89fd7e2/diff:/var/lib/docker/overlay2/0c981549b90da82ede4bcb2da903758fd2cc96209a605e1fc56031d8145708ad/diff:/var/lib/docker/overlay2/ce0d6ffb154dc5fbf34d454457441d890c4eddb348b745321950faf59cb21465/diff:/var/lib/docker/overlay2/aab917f6be892f0e501aac945ff5a89750a8e94841256287eb8ebc5a4e679fd8/diff:/var/lib/docker/overlay2/5285542e80da1a98f3706182281c64925e5df722a352f26e640a6794447ca71c/diff:/var/lib/docker/overlay2/7f46e590c8ddcb587af572e2f9292309c2207384455e6865e3671658ba7b4d02/diff:/var/lib/docker/overlay2/0dc74b6c611041a950543d82d40a143af0834869a6889ee042fe12de0b64832e/diff:/var/lib/docker/overlay2/cbecc8e8cae761195dfc71268347ed8cfd124fc54bef685c4d3d1c89858cafd2/diff:/var/lib/docker/overlay2/10ff5508861053049fe4a2993b6b772a1226183ccd03b480f97df16b4ef1ad55/diff:/var/lib/docker/overlay2/d2e8bebde8102e357cde10a25a08f02856304822e7f6f96c01b594a419334785/diff:/var/lib/docker/overlay2/116fbc46e30c687dfd9ec9b042f66e2ede151896da4e46ea505c5a728c3ea65a/diff:/var/lib/docker/overlay2/a30afeee0d5e19a22fe481fa597ca4194314b881dea643de2aa23e062050b001/diff:/var/lib/docker/overlay2/2ed1e1db2447ca1530421686aa0559194a5d876dc66cac43394f862f809316b4/diff:/var/lib/docker/overlay2/c5562141e40f42eb10f2a743f82878054e0cf5e7c7b9648c6a32e29a16b53a35/diff:/var/lib/docker/overlay2/604b714072d6d7d347c28c686d63b0e2ff9ffc46327fc28a9c9e0fd617161589/diff",
            "MergedDir": "/var/lib/docker/overlay2/e551d4d6956552f9fefcea0f62bd0d88487938e868fc5932029e920a09c4d4d3/merged",
            "UpperDir": "/var/lib/docker/overlay2/e551d4d6956552f9fefcea0f62bd0d88487938e868fc5932029e920a09c4d4d3/diff",
            "WorkDir": "/var/lib/docker/overlay2/e551d4d6956552f9fefcea0f62bd0d88487938e868fc5932029e920a09c4d4d3/work"
        },
        "Name": "overlay2"
    },
    "RootFS": {
        "Type": "layers",
        "Layers": [
            "sha256:15f1c8eb1ab18eae260c7fb6296434cbe1ff0e1e30fd814ae92a80dd54005e62",
            "sha256:e1fa2746ad6d51e7de9171dfcbb1fe93d01d51c5d8d3623e0c3b223076dc5d23",
            "sha256:b361fa3b97940ee89a1aab8fde1027e47ab2c2e700ca2f8d5988ad2c64386e5c",
            "sha256:dca2a125b4903477bcb42084172cfc98865299810620ffd617bf6e12dd83d89f",
            "sha256:56178984e1253a7dacbb95f7e6d408a83110b39085b171ed6aca13d6c04b0f0c",
            "sha256:08b8a3ad04af7e6cb36415bef325b6bc88dfcb6561786d98c492a9dd08ee1823",
            "sha256:d4c45ac7bdf36612c3935662a38c57559fdb0fed70d54349033d54c33acafae8",
            "sha256:8b09ab772db9c4939b5eb5a5691511953a5863b69a1089b5e27db2ac65465139",
            "sha256:096bcfb9812ea9262b447f9c5d577de9100f2f537e21dbbf42d3a727604e5aaa",
            "sha256:f4123c34ba14ffd4321b9721bab8df451ea48fdbff04fc42759ce28ed1bea381",
            "sha256:cdf9067a5be2e274a86fbdcc9c8914ef1dee54eb78714bce59f15686f88ece9e",
            "sha256:8c35d4899f02b0b51c4f79653ba808dcbb5e1350432e14ca3476be580704d4f0",
            "sha256:2de1a86635a08f64ff8f8204f62d5b25c198b0769f445f9954e06442725d3b6f",
            "sha256:a60de6ea98eb48fee9d036fa8b9d2dff9c4ced653603f05ad30bf743d8a24bb0",
            "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
            "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
            "sha256:fcc6ce183f2a7e50ffad078e4963b79e9af2cb0640d7e425c36c02406e69b2e5",
            "sha256:c17e3ac539e54fb2fd388f723a9fc036ba0fa8298aa1ffa6a590cb1354e95ff4",
            "sha256:df93ee70fd9d49988e6493fadbc2768e1e00b3d650b43e108afd69cca739a03c",
            "sha256:4dfe26634ec2163efa111267bb68eebcea14438d91c67ccc945c8db4ca82b57d",
            "sha256:f08c0810a5b9cf27a56edbbea40f4a20f9d7389b469f1d60f5f8a3fb22967746",
            "sha256:3d7fbcfbb7c88b7a7f5dc8c12be42fa5cf7838806205d93caa3214f8a5d937d2",
            "sha256:4ffbb0c469da66ce62355b98444549bac112088fd7b9217c286a6ec1cf6cfd00",
            "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
            "sha256:ded38f5acf486c60bbb16f3c144c5dad482323ad9a51b1058b9eacd5d0b40e79",
            "sha256:fe170bfd4ff6bfdeb64c08e5f96a7ae43b754b1f3cc001a146c9ba7c975610a1",
            "sha256:7e43bf76af628993f9f3087199a5b79918ebea7aae18a55989617f748b2d8ff8",
            "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef"
        ]
    },
    "Metadata": {
        "LastTagTime": "2026-11-07T01:39:02.783628738+08:00"
    }
}

更多版本

docker.io/openbmbofficial/minicpm-ocr:latest

linux/amd64 docker.io20.45GB2026-11-07 01:54
35
检测到您正在使用广告拦截插件,本站为公益站点,依赖广告维持运转 🙏 查看如何关闭 ×