Containers & image selection

View / edit source ↗

(简体中文 | English)

Choose the execution path before pulling an image. The Python AutoModel SDK, a C++ runtime server, and a development environment are different products of the repository. Installing a newer Python package inside a published runtime image does not rebuild its C++ executable or add every Python model to that server.

1. Verify Docker on the host

Install Docker using the Docker Engine instructions for Linux or Docker Desktop for macOS/Windows (Windows reference). Avoid piping an unreviewed installation script into a privileged shell.

docker version
docker info

GPU containers additionally need a compatible host driver and container GPU setup. --gpus all requests access; it does not install the driver or make a CPU image GPU-capable. Check image architecture against the host before using it.

2. Select a runtime or development path

These exact image references are documented in this checkout. They are repository evidence, not a claim that registry availability, security updates, or inference were checked during this documentation review.

Path Repository-documented image or build Where to continue
Offline C++ CPU service registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-cpu-0.4.7 CPU service guide
Offline C++ GPU service registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-gpu-0.2.1 GPU service guide
Online/two-pass C++ CPU service registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.13 Online service guide
Rebuild online CPU runtime from this checkout Dockerfile.online.cpu, with a digest-pinned base Same online guide; rebuilds the C++ server and installs this source tree
Python SDK development A separately selected, validated Python/PyTorch environment Source installation; record the base image digest and package versions

The maintained source-build path above is distinct from the historical development image advertised by older versions of this page:

registry.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu20.04-py38-torch1.11.0-tf1.15.5-1.8.1

That ModelScope development image is retained here as a historical reference, not a recommended current FunASR runtime or a guarantee of compatibility with new model dependencies. The former CPU tag funasr-runtime-sdk-cpu-0.4.1 is likewise historical; see the runtime release history.

3. Inspect a published image without exposing a service

For example, prepare an offline CPU runtime shell. Run these commands in a POSIX shell, in a directory where you want a dedicated model folder:

IMAGE=registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-cpu-0.4.7
docker pull "$IMAGE"
docker image inspect "$IMAGE" --format '{{.Os}}/{{.Architecture}} {{json .RepoDigests}}'
mkdir -p ./funasr-models
docker run --rm -it --name funasr-runtime-shell \
  --mount "type=bind,src=$(pwd)/funasr-models,dst=/workspace/models" \
  --entrypoint /bin/bash "$IMAGE"

This starts a shell, not a configured transcription service. exit removes this temporary container; the bind-mounted model files persist. To inspect or stop it from another terminal:

docker ps --filter name=funasr-runtime-shell
docker stop funasr-runtime-shell

Continue with the matching service guide for model selection, executable options, protocol, and clients. When publishing a test service, bind to loopback (for example -p 127.0.0.1:10095:10095) until access controls and transport security are configured. Avoid --privileged, host-root mounts, credentials baked into images, and unreviewed public port exposure. Some historical guide commands use broader permissions; assess requirements rather than copying them blindly.

4. Build the online CPU runtime from source

From the repository root, after reviewing its Dockerfile and build context:

docker build -f runtime/dockerfile/Dockerfile.online.cpu \
  -t funasr-online-cpu:local .

funasr-online-cpu:local is a locally chosen build tag, not a published registry release. The Dockerfile copies the checkout, installs it in editable mode, and compiles runtime/websocket. A completed build alone is not a model-inference test. Follow the online runtime guide for startup and validation; do not assume it includes later commits without rebuilding.

For SDK development, install the checkout into a reviewed Python/PyTorch container using the installation guide, then run the SDK tutorial. This page does not invent a universal development-image tag or model compatibility matrix.

Model caches, offline preparation, remote-code trust, and separate software/model licenses still apply inside a container; see installation and security. Keep exact image digests, source commits, and model revisions with your test results. More runtime choices: runtime overview and quick start.