Infrastructure
Docker
Платформа для создания и запуска контейнеров — изолированных сред с приложением и зависимостями.
См. также — материалы
Что такое Docker
Docker — платформа для контейнеризации: упаковки приложения вместе со всеми зависимостями (библиотеки, конфиги, runtime) в стандартный контейнер, который одинаково запускается на любом сервере с Docker. Для ML это означает: «работает у меня» = «работает в продакшене».
Docker стал стандартом деплоя ML-моделей: vLLM, TGI, Ollama, ComfyUI — все публикуют официальные Docker-образы. Это делает деплой тривиальным.
Ключевые концепции
- Dockerfile — скрипт сборки образа
- Docker Image — неизменяемый снимок среды
- Container — запущенный экземпляр образа
Быстрый старт на GPU-инстансе
# Запустить vLLM (всё уже в образе)
docker run --gpus all -p 8000:8000 \
vllm/vllm-openai:latest \
--model meta-llama/Llama-3.1-8B-Instruct
# Запустить ComfyUI
docker run --gpus all -p 8188:8188 \
yanwk/comfyui-boot:latest
# Полезные опции
docker run -d # фоновый режим
--name my-server # имя контейнера
-v /host:/container # монтирование папки (модели, данные)
--restart unless-stopped # автоперезапуск
Управление контейнерами
docker ps # запущенные контейнеры
docker logs my-server # логи
docker exec -it my-server bash # войти в контейнер
docker stop my-server # остановить
docker rm my-server # удалить
NVIDIA Container Toolkit
Для работы GPU в контейнерах нужен NVIDIA Container Toolkit:
# Установка (Ubuntu)
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt install nvidia-container-toolkit
sudo systemctl restart docker
Связанные термины
- Dockerfile — скрипт сборки Docker-образа
- Docker Image — образ, из которого запускается контейнер
- NVIDIA Container Toolkit — GPU-поддержка в Docker
- container — запущенный Docker-экземпляр
Готовы запустить GPU-задачу?
Запустить GPU-сервер