AI.Product ClubБлог Михаила Карпова
← Все материалы
HOW-TOАвтоматизация7 мин чтения

Ollama в Docker: запуск модели и проверка локального API

Запусти Ollama в контейнере на CPU, сохрани модели в томе и проверь ответ через локальный API. Команды и разбор частых ошибок.

Ollama можно запустить в Docker, чтобы держать сервер модели отдельно от обычной установки на компьютере. Ниже — локальный запуск на CPU с сохранением моделей между перезапусками. Проверим и доступность API, и один содержательный ответ на учебное обращение.

Локальный порт 11435 ведёт к Ollama на порту 11434 контейнера, модели сохраняются в отдельном томе
Авторская схема AI Product Club. Открыть крупнее.

1. Проверь Docker и выбери адрес

Нужен установленный и запущенный Docker. Команды ниже рассчитаны на Bash или Zsh, а в Windows — терминал WSL с настроенным доступом к Docker. Выполни docker version: должны быть сведения о клиенте и сервере. Если сервер недоступен, сначала запусти Docker, а не повторяй установку Ollama.

Для упражнения используем порт 11435 на компьютере, чтобы не конфликтовать с обычной Ollama на 11434. Внутри контейнера сервер останется на 11434. Интернет нужен для скачивания образа и модели; объём памяти и скорость зависят от модели и ресурсов, выделенных Docker.

Это инструкция для CPU. Не ожидай ускорения видеокартой от одной установки контейнера. Для NVIDIA и AMD у Ollama есть отдельные варианты Docker-настройки. Для первого знакомства без контейнеров подойдёт обычная установка.

2. Запусти сервер с постоянным хранилищем

Сначала выполни docker ps -a и убедись, что имя aipc-ollama не занято твоей предыдущей установкой. Для нового контейнера:

docker run -d \
  --name aipc-ollama \
  -v aipc-ollama-models:/root/.ollama \
  -p 127.0.0.1:11435:11434 \
  ollama/ollama

Команда адаптирует официальный CPU-пример: имя и внешний порт свои, доступ привязан к локальному адресу. Именованный том aipc-ollama-models хранит модели отдельно от контейнера. Не удаляй его при обычном перезапуске.

Проверь состояние и последние сообщения:

docker ps --filter name=aipc-ollama
docker logs --tail 40 aipc-ollama
curl http://127.0.0.1:11435/api/tags

Ожидается запущенный контейнер и JSON со списком моделей. Список может быть пустым: сервер установлен, но модель ещё не скачана. Адрес привязан к этому компьютеру; это не инструкция публикации API в интернете.

3. Скачай небольшую модель

Для учебной проверки возьмём llama3.2:1b из каталога Ollama. Небольшая модель удобна для проверки подключения, но её ответ не стоит принимать за эталон качества.

docker exec aipc-ollama ollama pull llama3.2:1b
docker exec aipc-ollama ollama list

Дождись завершения загрузки. В списке должно появиться то же имя. Если загрузка оборвалась, проверь сеть и место на диске. Если модель есть, но генерация завершается ошибкой, посмотри логи и доступную Docker память. Повторное скачивание не исправляет недостаток ресурсов.

4. Выполни запрос с понятным критерием

Отправь учебное сообщение через метод generate. Параметр stream: false просит один полный JSON-ответ вместо потока фрагментов.

curl http://127.0.0.1:11435/api/generate \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "llama3.2:1b",
    "prompt": "Classify this support message as access, billing, or feature_request. Reply with one label only. Message: I was charged twice for my subscription.",
    "stream": false
  }'

В поле response ожидаем billing: учебный пользователь сообщает о двойном списании. Английский пример выбран, чтобы проверка соединения не зависела от качества русского языка маленькой модели. Для русского рабочего сценария понадобится отдельная оценка модели на русских обращениях.

Раздели результаты: JSON с непустым response подтверждает прохождение генерации, а правильная метка — успех только на одном примере. Если вместо метки получен длинный текст, подключение работает, но формат не выдержан. Не подключай такую проверку сразу к автоматической рассылке клиентам.

5. Проверь перезапуск и границы сети

Остановить и вновь включить ту же установку можно без новой команды run:

docker stop aipc-ollama
docker start aipc-ollama
docker exec aipc-ollama ollama list

После старта модель должна остаться в списке. Сохрани имя контейнера, тома, модели и дату настройки. Образ без фиксированной версии может измениться при следующем скачивании; для командного воспроизводимого окружения согласуйте проверенную версию или digest.

Симптом Что проверить
Имя занято Уже существующий контейнер в docker ps -a
Порт занят Другой процесс на 11435; выбери свободный внешний порт
API отвечает, модель не найдена Совпадает ли имя с ollama list внутри контейнера
Из другой программы нет связи Находится она на компьютере или в другом контейнере

Адрес 127.0.0.1 внутри другого контейнера указывает на него самого. Не копируй туда адрес из этого примера без настройки сети. В руководстве по Open WebUI используется другая схема — интерфейс в Docker и Ollama на компьютере; её адрес подключения нельзя механически переносить сюда.

Моя рекомендация: запиши отдельно три проверки — сервер отвечает, модель сохранилась после перезапуска, учебная задача решена. Это помогает найти причину сбоя без переустановки всего окружения.

Проверка материала: официальные источники сверены 16 октября 2026 года. Примеры учебные; подключение MCP, запуск контейнера и обучение модели в рамках подготовки статьи не выполнялись.

Освоить рабочие сценарии с ИИ можно на курсе AI Product Club.

Todo: попробуй на своей задачеПрогресс сохраняется в этом браузере.
ПРАКТИКА НА КУРСЕ / AI PRODUCT CLUB

Собери своего ИИ-агента и проверь результат

«AI Agents: от vibe coding к AI-команде»: desktop agents, MCP, skills, evals и harness. Отдельные воркшопы — от подключения инструментов до контроля качества.

7 практических воркшопов · записи · вопросы автору в чате

Посмотреть программу курса ↗

Автор: — практик автоматизации и автор курсов AI Product Club.