Да, ты не ослышался. Docker теперь способен запускать крупные языковые модели (LLM) прямо на твоём компьютере. Без облака, без подписок, без лишней головной боли. Всё это стало возможным благодаря новой разработке под названием Docker Model Runner. И если ты уже пользовался Docker для контейнеризации приложений, то освоиться с этой фичей будет легче лёгкого.
Мы живём во времена бурного роста генеративного ИИ. Но каждый, кто хоть раз пытался построить собственное AI-приложение, знает: это непросто. Настройка, интеграции, затраты на API — всё это выматывает. И вот тут на сцену выходит Docker, чтобы сделать магию ИИ доступной как никогда.
Новая фича пока в стадии бета-тестирования и доступна для пользователей Docker Desktop на Mac с Apple Silicon (начиная с версии 4.40). Но главное — это не просто запуск модели внутри контейнера. Docker теперь умеет обращаться к железу напрямую, используя аппаратное ускорение через Metal API. Это открывает массу возможностей. Давай разберёмся, что к чему.
Зачем вообще нужен Docker Model Runner?
Вот несколько причин, почему стоит обратить внимание:
- Простой и знакомый инструментарий. Не нужно учить новый синтаксис — всё работает через привычный CLI. Взаимодействие происходит через те же команды, что ты уже знаешь, только с подкомандой
model
. - Аппаратное ускорение на Mac. Благодаря
llama.cpp
и интеграции с Metal API, ты получаешь производительность на уровне, ранее доступном только в облаке. Всё — на локальной машине. - Модели как OCI-артефакты. В отличие от громоздких Docker-образов, модели сохраняются в формате OCI. Это быстрее, легче и более совместимо с индустриальными стандартами.
- Работа полностью локально. Больше никаких ключей API, ограничений по количеству запросов или задержек. Ты работаешь с моделью прямо у себя на ноутбуке. И при этом полностью контролируешь данные — никакой утечки в облако.
Первые шаги: как запустить?
- Убедись, что у тебя стоит Docker Desktop v4.40+.
- Перейди в
Settings > Features in development
и включи Enable Docker Model Runner. Можно также включить host-side TCP support, чтобы обращаться к API с localhost. - Нажми Apply & restart.
Теперь открой терминал и введи:
docker model
Если ты видишь список команд — поздравляю, всё работает!
Варианты взаимодействия с моделями
У тебя есть два пути:
- Через CLI (простой и понятный интерфейс).
- Через API, совместимый с OpenAI (можно обращаться как из контейнера, так и с хоста).
Способ 1: через CLI
Docker Model Runner интегрируется в стандартную CLI-схему. Хочешь загрузить модель? Просто:
docker model pull ai/llama3.2
А чтобы запустить:
docker model run ai/llama3.2
Ты получаешь интерактивный чат прямо в терминале. Как будто открыл ChatGPT, только без браузера и с полной автономией.
Чтобы выйти, напиши /bye
. Всё гениальное — просто.
Способ 2: через OpenAI-совместимый API
Теперь по-настоящему крутое — взаимодействие через API. Model Runner поддерживает все привычные OpenAI endpoint’ы:
GET /engines/llama.cpp/v1/models
POST /engines/llama.cpp/v1/chat/completions
POST /engines/llama.cpp/v1/completions
...
Можешь отправлять запросы из контейнера или с хоста — всё зависит от твоих задач.
Пример изнутри контейнера:
Базовый URL: http://model-runner.docker.internal
Пример запроса:
curl http://model-runner.docker.internal/engines/llama.cpp/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "ai/llama3.2",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Please write 100 words about Docker Compose."}
]
}'
Результат — JSON-ответ с текстом, количеством использованных токенов и другой полезной инфой. Всё как в OpenAI.
Пример с хоста:
Базовый URL: http://localhost:12434
(если включена поддержка TCP)
Тот же curl
, только адрес меняется:
curl http://localhost:12434/engines/llama.cpp/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "ai/llama3.2",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Please write 100 words about Docker Compose."}
]
}'
Модель ответит точно так же, как если бы ты использовал OpenAI.
Где искать модели?
Все доступные модели лежат в Docker GenAI Catalog. Там можно найти llama3.2
и другие.
Возможности, которые открываются
- Прототипировать и тестировать AI-функции без внешних сервисов.
- Создавать приватные ботов и чат-интерфейсы.
- Встраивать LLM в локальные приложения.
- Работать с высокой скоростью, без ограничений и API-задержек.
- Поддерживать офлайн-режим и соблюдать требования безопасности.
На что обратить внимание
- Поддержка пока ограничена macOS с Apple Silicon.
- Project находится в бета-версии, так что возможны баги.
- Некоторые команды и функции пока недоступны, но активно дорабатываются.
В заключение
Docker снова доказал, что он не просто контейнер для приложений. Он становится полноценной платформой для разработчиков ИИ. Теперь запуск LLM — это вопрос пары команд в терминале.
Хочешь узнать больше? Загляни в официальную документацию.
***✨ А что думаете вы? ✨
Делитесь мыслями в комментариях — ваше мнение вдохновляет нас и других!
Следите за новыми идеями и присоединяйтесь:
• Наш сайт — всё самое важное в одном месте
• Дзен — свежие статьи каждый день
• Телеграм — быстрые обновления и анонсы
• ВКонтакте — будьте в центре обсуждений
• Одноклассники — делитесь с близкими
Ваш отклик помогает нам создавать больше полезного контента. Спасибо, что вы с нами — давайте расти вместе! 🙌