Five base URLs for one Docker Model Runner
Left: five callers of Docker Model Runner. docker-agent on the host uses http://localhost:12434 once host TCP is enabled. The Compose service printer gets http://model-runner.docker.internal, injected as LLM_URL with the /v1/ path. A container on Docker Engine uses http://172.17.0.1:12434, from the docs and not captured. A host process that talks to the Docker socket reaches http://localhost/exp/vDD4.40, the endpointHost of docker model status. docker-agent inside a sandbox uses http://host.docker.internal:12434 through the sandbox proxy. Right: the runner with llama.cpp b9879-metal and ai/qwen3:4b, and what follows the base URL: the path prefixes /engines/v1/ for OpenAI, /engines/llama.cpp/v1/ with the engine name, and /v1/, the whole endpoints /anthropic/v1/messages and /v1/messages for Anthropic, and the prefix /api/ for Ollama. No path checks credentials.
Docker Model Runner
llama.cpp b9879-metal
model ai/qwen3:4b
paths after the base URL:
/engines/v1/ OpenAI
/engines/llama.cpp/v1/
/v1/ status endpoint
/anthropic/v1/messages
/v1/messages, examples
/api/ Ollama
docker-agent
host process
http://localhost:12434
TCP enabled on port 12434
printer
Compose service
http://model-runner.docker.internal
injected as LLM_URL with /v1/
container
Docker Engine
http://172.17.0.1:12434
from the docs, not captured
socket client
host, Docker socket
http://localhost/exp/vDD4.40
endpointHost in model status
docker-agent
inside a sandbox
http://host.docker.internal:12434
through the sandbox proxy
no path checks credentials: any client that reaches the port can run models