Ollama в Docker 2026: установка, GPU и Open WebUI без лишних обещаний
Docker удобен для Ollama, если у вас уже есть домашний сервер, NAS или мини-ПК, где рядом живут Home Assistant, Jellyfin, n8n, базы данных и обратный прокси. Но это не магическая кнопка: контейнер не делает AI-сервер полностью изолированным, не обновляет модели сам по себе и не гарантирует быстрый первый запуск. Реальное время зависит от Docker Engine, драйверов NVIDIA/AMD, скорости загрузки образа и размера модели.

Ключевые факты
- Официальный образ
ollama/ollamaзапускает API на11434и хранит модели в/root/.ollama. - Для NVIDIA GPU нужен NVIDIA Container Toolkit и проверка
docker run --gpus all ... nvidia-smi. - Для AMD GPU у Ollama есть отдельный
ollama/ollama:rocm, а также экспериментальный Vulkan-режим. - На macOS с Apple Silicon Docker Desktop не дает Ollama GPU-ускорение; нативная установка обычно правильнее.
- Данные переживают пересоздание контейнера только при корректном volume;
docker compose down -vудаляет volume. - Open WebUI часто ломается не из-за Ollama, а из-за неверного
OLLAMA_BASE_URLмежду контейнерами и хостом.
Эта статья для тех, кто хочет поднять локальную нейросеть в Docker осознанно: с пониманием сети, volumes, GPU и типовых отказов, а не просто скопировать команду из выдачи.
В нашем тесте на домашнем Linux-сервере самым частым источником поломок был не сам ollama/ollama, а связка из трех вещей: неверный URL между Open WebUI и Ollama, случайное удаление volume при уборке Docker и неподтвержденный GPU runtime. Поэтому ниже сначала идут проверки, а уже потом команды запуска.
Что Docker решает, а что нет
| Вопрос | Нативная Ollama | Ollama в Docker | AI Home Server |
|---|---|---|---|
| Первый запуск | Проще на ноутбуке | Удобнее в серверном стеке | Преднастроен |
| Изоляция | Минимальная | Контейнерная, но не security boundary для всех угроз | Настраивается под задачу |
| Обновления | macOS/Windows скачивают обновления, Linux через install script | Ручной docker pull или отдельный updater |
По регламенту обслуживания |
| Модели | В системной папке Ollama | В Docker volume или bind mount | На выделенном диске |
| NVIDIA GPU | Нативно при подходящем драйвере | Через NVIDIA Container Toolkit | Проверяется при сборке |
| Apple Silicon | Есть Metal GPU в нативной версии | GPU passthrough в Docker Desktop для Ollama недоступен | Лучше ставить нативно |
| Web UI | Отдельно | Open WebUI отдельным контейнером или bundled image | Включается в комплект |
Практический выбор такой: для Linux-сервера с Docker берите контейнер; для MacBook на M-серии ставьте Ollama нативно; для домашнего appliance без терминала лучше готовить сборку как продукт, а не как набор случайных контейнеров.
Проверка перед установкой
Минимальный чек-лист:
docker version
docker compose version
docker info | sed -n '1,25p'
Если нужен NVIDIA GPU:
nvidia-smi
docker run --rm --gpus all nvidia/cuda:12.9.0-base-ubuntu22.04 nvidia-smi
Если вторая команда не видит видеокарту, Ollama в контейнере тоже не увидит ее. Сначала ставьте драйвер и NVIDIA Container Toolkit, затем выполняйте:
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
Для Apple Silicon проверка другая: нативная Ollama поддерживает Apple M series с CPU и GPU, а Docker-вариант для macOS остается CPU-путем. Это нормально для эксперимента с маленькой моделью, но плохо для постоянного чата.
Минимальный запуск Ollama в Docker
CPU-вариант:
docker volume create ollama
docker run -d \
--name ollama \
-p 11434:11434 \
-v ollama:/root/.ollama \
ollama/ollama:latest
NVIDIA-вариант:
docker run -d \
--name ollama \
--gpus=all \
-p 11434:11434 \
-v ollama:/root/.ollama \
ollama/ollama:latest
Проверка API и загрузка модели:
curl http://localhost:11434/api/tags
docker exec -it ollama ollama run llama3.2
Не считайте скачивание модели частью "мгновенного" запуска. Даже компактные 3B/7B модели занимают гигабайты, а первые ответы могут быть медленнее из-за загрузки модели в память.
Docker Compose: Ollama + Open WebUI
Для двух контейнеров в одной compose-сети используйте имя сервиса ollama, а не localhost:
services:
ollama:
image: ollama/ollama:latest
container_name: ollama
restart: unless-stopped
ports:
- "11434:11434"
volumes:
- ollama:/root/.ollama
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
restart: unless-stopped
depends_on:
- ollama
ports:
- "3000:8080"
environment:
OLLAMA_BASE_URL: http://ollama:11434
volumes:
- open-webui:/app/backend/data
volumes:
ollama:
open-webui:
Запуск:
docker compose up -d
docker compose logs -f --tail=100 ollama open-webui
Откройте http://localhost:3000. При первом входе Open WebUI создаст свою базу в volume open-webui; модели Ollama останутся в volume ollama.
Compose с NVIDIA GPU
Добавьте в сервис ollama блок GPU reservation:
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
Поле capabilities обязательно: без него Docker Compose вернет ошибку при запуске GPU-сервиса.
Volumes: где лежат модели и как не удалить данные
Docker volume нужен не для красоты. Без него модели и служебные данные будут привязаны к жизненному циклу контейнера, а пересоздание станет рискованным.
Команды для контроля:
docker volume ls | grep ollama
docker volume inspect ollama
docker exec -it ollama ollama list
Безопасное обновление образа:
docker compose pull
docker compose up -d
Опасная команда:
docker compose down -v
Флаг -v удаляет volumes, то есть модели Ollama и данные Open WebUI. Используйте его только когда сознательно сносите стенд.
Практическая таблица troubleshooting
| Симптом | Частая причина | Проверка | Что сделать |
|---|---|---|---|
| Open WebUI пишет, что моделей нет | OLLAMA_BASE_URL смотрит на localhost, а Ollama в другом контейнере |
docker exec open-webui curl -s http://ollama:11434/api/tags |
В одной compose-сети ставьте http://ollama:11434; если Ollama на хосте, пробуйте host.docker.internal или host network |
host.docker.internal не работает на Linux Docker Engine |
Это имя не всегда доступно как в Docker Desktop | docker run --rm alpine ping -c 1 host.docker.internal |
Добавьте extra_hosts: ["host.docker.internal:host-gateway"], используйте IP bridge или network_mode: host |
| Ollama работает на CPU вместо NVIDIA GPU | Не настроен runtime, старый драйвер, cgroup/systemd проблема | docker run --rm --gpus all nvidia/cuda:12.9.0-base-ubuntu22.04 nvidia-smi; docker logs ollama |
Настройте nvidia-ctk, перезапустите Docker, обновите драйвер, проверьте логи Ollama |
| После suspend/resume GPU пропал | NVIDIA UVM/driver не восстановился | docker logs ollama; nvidia-smi |
Перезагрузите хост или перезагрузите nvidia_uvm, затем контейнер |
| AMD GPU не виден | Нужен :rocm, доступ к /dev/kfd//dev/dri, группы или ROCm-драйвер |
ls -lnd /dev/kfd /dev/dri /dev/dri/* |
Используйте ollama/ollama:rocm, проброс устройств и --group-add по group ID |
| На Mac M1/M2/M3 контейнер медленный | Docker Desktop не дает Ollama GPU passthrough | Сравните ollama ps нативно и в контейнере |
На Apple Silicon ставьте Ollama нативно, Open WebUI можно оставить в Docker |
| Модели исчезли после уборки | Был выполнен docker compose down -v или удален volume |
docker volume ls; docker exec ollama ollama list |
Восстановите из backup volume; дальше обновляйте через pull + up -d без -v |
| Первый ответ очень долгий | Модель загружается в RAM/VRAM | docker exec ollama ollama ps |
Используйте меньшую модель, preload-запрос или настройте keep_alive |
| Open WebUI зависает на длинных ответах | Таймаут между WebUI и Ollama | Логи open-webui, повтор в CLI ollama run |
Уменьшите модель/контекст или настройте timeout-переменные Open WebUI |
Эти проблемы регулярно всплывают в GitHub issues, Reddit и community-тредах: особенно связка Open WebUI в Docker + Ollama на хосте, GPU passthrough на Proxmox/Unraid/WSL2 и ожидание, что Docker на Mac использует Metal так же, как нативная Ollama. Точные команды выше опираются на официальные docs; форумы полезны здесь как карта симптомов, а не как единственный источник истины.
Когда нужен не Docker-гайд, а готовый AI-сервер
Docker хорош, если вы умеете читать логи, обновлять images и понимать, где находятся volumes. Если задача другая - поставить дома локальный AI-чат, Home Assistant и веб-интерфейс без ручного администрирования, лучше собирать это как appliance.
AI Home Server - мини-ПК с локальной нейросетью, Open WebUI, Home Assistant и понятной схемой обновлений/backup. Мы подбираем железо под модель, память, шум, энергопотребление и сценарии: чат, RAG по документам, умный дом, локальные automations.
Для подбора конфигурации напишите в Telegram: @onoutnoxon.
FAQ
Ollama в Docker действительно изолирована от системы?
Частично. Контейнер отделяет процесс, сеть и filesystem, но GPU, volumes, порты, Docker socket и привилегированные режимы остаются зонами риска. Не публикуйте 11434 в интернет без прокси, авторизации и firewall.
Можно ли обновлять Ollama автоматически?
Сам Docker-контейнер не обновляется сам. Нужен ручной docker compose pull && docker compose up -d или отдельный updater вроде Watchtower. Для production лучше pin конкретной версии, а не слепой latest.
Работает ли Docker-вариант на AMD?
Да, но не тем же флагом, что NVIDIA. Официальный Docker-гайд Ollama использует ollama/ollama:rocm и проброс /dev/kfd//dev/dri; совместимость зависит от GPU, ROCm/Vulkan и прав устройств.
Что выбрать для MacBook на M-серии? Нативную Ollama. Официальная документация Ollama указывает GPU support для Apple M series и отдельно говорит, что GPU acceleration недоступен для Docker Desktop на macOS из-за отсутствия passthrough/emulation.
Почему Open WebUI не видит модели, хотя ollama list показывает их?
Почти всегда это сеть. Внутри контейнера localhost означает сам контейнер, а не ваш хост и не соседний сервис. Для compose используйте http://ollama:11434; для Ollama на хосте смотрите host.docker.internal, extra_hosts или host network.
Смотрите также
- Ollama: что это и как запустить нейросеть локально
- Ollama модели 2026: какую выбрать для домашнего ПК
- Нейросеть на компьютер 2026: запуск AI локально
- Home Assistant Docker: установка через Docker Compose
Источники и проверка фактов
- Ollama Docker docs — https://docs.ollama.com/docker
- Docker Hub:
ollama/ollamaimage — https://hub.docker.com/r/ollama/ollama - Ollama FAQ: Docker GPU, macOS GPU passthrough, updates, model storage — https://docs.ollama.com/faq
- Ollama hardware support: NVIDIA, AMD ROCm, Metal, Vulkan — https://docs.ollama.com/gpu
- Ollama troubleshooting: container logs, NVIDIA/AMD GPU discovery — https://docs.ollama.com/troubleshooting
- NVIDIA Container Toolkit install/configure Docker — https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html
- Docker Compose GPU support — https://docs.docker.com/compose/how-tos/gpu-support/
- Docker volumes lifecycle and persistence — https://docs.docker.com/engine/storage/volumes/
- Open WebUI quick start and Docker Compose notes — https://docs.openwebui.com/getting-started/quick-start/
- Open WebUI Ollama connection guide — https://docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-ollama/
- Open WebUI troubleshooting: connection errors — https://docs.openwebui.com/troubleshooting/connection-error/
- Community symptoms checked, not used as sole source of facts: Open WebUI discussion
#5903on host/container networking, Ollama issue#3849on slow Docker on macOS M1, Ollama issue#8674on GPU discovery, Reddit threads in r/OpenWebUI/r/ollama/r/docker abouthost.docker.internal, volumes and GPU passthrough.
Материал подготовлен при участии AI-инструментов и проверен редактором Александр Руин, основатель habab.ru. Обновлено: 2026-05-05.
О сервисе "AI Home Server"
AI Home Server — мини-ПК с предустановленной локальной нейросетью (Ollama), хабом умного дома (Home Assistant), медиасервером (Jellyfin), бэкапом (Syncthing) и AI-агентом в Telegram. Подключаешь к питанию и интернету — работает из коробки.
Ключевые преимущества:
- Всё работает из коробки за 2 минуты
- Локальная нейросеть без интернета и без цензуры
- Все данные остаются у вас — никакого облака
- AI + медиасервер + бэкап + умный дом = одна коробка
- Управление голосом и текстом через Telegram
- Не нужен программист для настройки
Для кого подходит:
Сценарии использования:
📰 Промо-статьи наших решений
Изучите детальные обзоры наших технологических решений для различных отраслей:
🚀 Разработка и автоматизация
- Автоматизация холодных продаж в криптопроектах
- AI-Assisted Development
- AI CRM Constructor: Конструктор CRM под ваш бизнес
- Парсер лидов с FL.ru
- Разработка Платформы для Автоматизации Найма Переводчиков
- Разработка WhatsApp Business Автоматизации под ключ
- Корпоративная Платформа Обмена Изображениями
- AI Quality Assurance — контроль качества AI-ответов
- Интеграция AMOCRM, Excel и Google Drive
- SimpleCrypto — AI-конфигуратор крипто-кошелька
- Синхрон1С - Автоматизация 1С без программиста
- SimpleReview — Chrome-расширение для автоматического исправления ошибок сайта
- Разработка Telegram Mini App с Лутбоксами
- YouTube-Telegram Скрапер для Стартапов
📈 Бизнес и автоматизация
- Разработка Telegram Ботов под ключ
- YandexDirect MCP сервер
- Корпоративные решения голосового ввода с ИИ
- Веб-версия аналитического дашборда для телефонии
- Платформа управления Telegram рекламой
- Bitcoin Mempool Explorer
- Презентационный сайт по брендбуку
- Разработка Платформы Прогнозов на Спорт по Модели GoalBet
- Обучающий кабинет
- Корпоративная система мониторинга медиа и аналитики
- Администрирование серверов
- Криптовалютный AML-чекер бот
- Новостной радар для промышленности
- Счетчик калорий Telegram Bot
- Talk to Excel / Talk to SQL — AI-ассистент для табличных данных
- Разработка веб-приложений по дизайну
- Разработка системы анализа договоров с ИИ
- Презентационный сайт по брендбуку
- Синхронизация 1С с WordPress
💰 FinTech и медиа
Работаю до результата и бизнес-ценности, быстро корректирую подходы в процессе. Использую современный стек для качественного и быстрого решения задач.