Компания Docker выпустила новую интересную функцию в бета-версии, которая должна заинтересовать всех, кто работает с генеративным ИИ. Docker Model Runner позволяет загружать, запускать и управлять ИИ-моделями прямо на вашем локальном компьютере без необходимости настройки сложной инфраструктуры.
Что такое Docker Model Runner и зачем он нужен?
Docker Model Runner — это плагин для Docker Desktop, который существенно упрощает работу с ИИ-моделями.
Функция находится на стадии бета-тестирования, доступна в Docker Desktop версии 4.40 и выше, и пока поддерживается только на Mac с процессорами Apple Silicon.
Плагин позволяет:
Загружать модели из Docker Hub (из пространства имён ai)
Запускать ИИ-модели напрямую из командной строки
Управлять локальными моделями (добавлять, просматривать, удалять)
Взаимодействовать с моделями через заданные промпты или в режиме чата
Одно из ключевых преимуществ Docker Model Runner — оптимизация использования ресурсов. Модели загружаются из Docker Hub только при первом использовании и хранятся локально. При этом они загружаются в память только во время выполнения запроса и выгружаются, когда не используются. Поскольку современные ИИ-модели могут быть довольно объёмными, первоначальная загрузка может занять некоторое время, но затем они кешируются локально для быстрого доступа.
Ещё одним важным преимуществом является поддержка OpenAI-совместимых API, что значительно упрощает интеграцию с существующими приложениями.
Основные команды Docker Model Runner
Проверка статуса
$ docker model status
Docker Model Runner is running
Просмотр доступных команд
$ docker model help
Usage: docker model COMMAND
Docker Model Runner
Commands:
inspect Display detailed information on one model
list List the available models that can be run with the Docker Model Runner
pull Download a model
rm Remove a model downloaded from Docker Hub
run Run a model with the Docker Model Runner
status Check if the Docker Model Runner is running
version Show the Docker Model Runner version
Run 'docker model COMMAND --help' for more information on a command.
Загрузка модели
$ docker model pull ai/smollm2
Downloaded: 0.00 MB
Model ai/smollm2 pulled successfully
Во время загрузки показывает правильный размер, но после загрузки 0.00 MB, но как я и писал выше, данная фича еще на бета тестировании
Просмотр локальных моделей
Пример вывода:
$ docker model list
MODEL PARAMETERS QUANTIZATION ARCHITECTURE MODEL ID CREATED SIZE
ai/smollm2 361.82 M IQ2_XXS/Q4_K_M llama 354bf30d0aa3 2 weeks ago 256.35 MiB
Запуск модели
С однократным промптом
$ docker model run ai/smollm2 "Привет"
Откривайте ввысокое, что наше входные данные.
В режиме диалога
$ docker model run ai/smollm2
Interactive chat mode started. Type '/bye' to exit.
> Привет
Привет, my friend!
> /bye
Chat session ended.
Удаление модели
$ docker model rm ai/smollm2
Model ai/smollm2 removed successfully
Интеграция Docker Model Runner в ваши приложения
Docker Model Runner предоставляет OpenAI-совместимые API-эндпоинты, что позволяет легко интегрировать его с существующими приложениями. Вот пример вызова эндпоинта chat/completions из контейнера:
#!/bin/sh
curl http://model-runner.docker.internal/engines/llama.cpp/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "ai/smollm2",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Напиши 500 слов о падении Рима."
}
]
}'
Вы также можете использовать Docker Model Runner из хоста через сокет Docker:
#!/bin/sh
curl --unix-socket $HOME/.docker/run/docker.sock \
localhost/exp/vDD4.40/engines/llama.cpp/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "ai/smollm2",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Напиши 500 слов о падении Рима."
}
]
}'
Быстрое начало работы с примером GenAI-приложения
Если вы хотите быстро попробовать Docker Model Runner с готовым приложением генеративного ИИ, выполните следующие шаги:
Клонируйте репозиторий с примером:
$ git clone https://github.com/docker/hello-genai.git
В терминале перейдите в директорию hello-genai.
Запустите run.sh для загрузки выбранной модели и запуска приложения.
Откройте приложение в браузере по адресу, указанному в README репозитория.
Доступные API-эндпоинты
После включения Docker Model Runner доступны следующие API:
#### Внутри контейнеров ####
http://model-runner.docker.internal/
# Управление моделями
POST /models/create
GET /models
GET /models/{namespace}/{name}
DELETE /models/{namespace}/{name}
# OpenAI-совместимые эндпоинты
GET /engines/llama.cpp/v1/models
GET /engines/llama.cpp/v1/models/{namespace}/{name}
POST /engines/llama.cpp/v1/chat/completions
POST /engines/llama.cpp/v1/completions
POST /engines/llama.cpp/v1/embeddings
Примечание: Можно также опустить llama.cpp.
Например, POST /engines/v1/chat/completions.
#### Внутри или вне контейнеров (на хосте) ####
Те же эндпоинты на /var/run/docker.sock
# Пока функция в бета-версии
С префиксом /exp/vDD4.40
Известные проблемы
Команда docker model не распознается
Если вы получаете ошибку:
docker: 'model' is not a docker command
Это означает, что Docker не может найти плагин. Решение:
$ ln -s /Applications/Docker.app/Contents/Resources/cli-plugins/docker-model ~/.docker/cli-plugins/docker-model
Нет защиты от запуска чрезмерно больших моделей
В настоящее время Docker Model Runner не включает защиту от запуска моделей, превышающих доступные ресурсы системы. Попытка запустить слишком большую модель может привести к серьезным замедлениям или временной неработоспособности системы.
Ошибки при неудачных загрузках
Если загрузка модели не удалась, команда docker model run все равно может запустить интерфейс чата, хотя модель фактически недоступна. В этом случае рекомендуется вручную повторить команду docker model pull.
Как включить или отключить функцию
Docker Model Runner включен по умолчанию в Docker Desktop. Если вы хотите отключить эту функцию:
Откройте настройки Docker Desktop
Перейдите на вкладку Beta в разделе Features in development
Снимите флажок Enable Docker Model Runner
Нажмите Apply & restart
Если не видно флажка Enable Docker Model Runner, то включите экспериментальные фичи

Заключение
Docker Model Runner предоставляет удобный способ работы с ИИ-моделями локально, что особенно полезно для разработчиков, которые хотят экспериментировать с генеративным ИИ без необходимости подключения к облачным API или настройки сложной инфраструктуры.
Функция находится в бета-версии, поэтому могут возникать некоторые проблемы, но Docker активно работает над их устранением и принимает обратную связь через ссылку Give feedback рядом с настройкой Enable Docker Model Runner.
Если вы работаете с генеративным ИИ или просто хотите попробовать локальные модели без лишних сложностей, Docker Model Runner — отличный инструмент, который стоит добавить в свой арсенал.