Получить доступ

Docker

Основа с Junior

Контейнеры для воспроизводимого запуска сервиса — Dockerfile, образы, compose.

Контейнер упаковывает сервис со всеми зависимостями: версия Python, библиотеки, системные пакеты. Он одинаково запускается на ноутбуке, в CI и на сервере — конец историям «у меня работает».

FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
USER nobody
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]

Что важно знать

  • Образ — шаблон из слоёв, контейнер — запущенный процесс.
  • Порядок инструкций под кэш: зависимости до кода.
  • Конфигурация и ключи — через переменные окружения или секреты, не в образе.
  • docker compose — локальное окружение из нескольких сервисов.
  • Образы с CUDA для GPU огромные — их собирают отдельно и аккуратно.

Критерии освоения

Junior ≈ 10 ч

  • Пишет Dockerfile для Python-сервиса и запускает его с переменными окружения
  • Поднимает сервис вместе с PostgreSQL через docker compose
  • Объясняет разницу между образом и контейнером, томом и bind mount

Практика. Упаковать FastAPI-сервис с RAG в контейнер, поднять вместе с PostgreSQL и pgvector через compose.

Middle ≈ 8 ч

  • Уменьшает образ multi-stage сборкой и кэшем слоёв зависимостей
  • Настраивает корректную остановку (SIGTERM) и healthcheck
  • Не допускает секретов в образе и запускает контейнер не от root

Практика. Уменьшить образ сервиса минимум вдвое, добавить healthcheck и graceful shutdown, проверить, что незавершённые запросы к модели дорабатывают при остановке.

Вопросы с собеседований

Документация

← Вся карта «ИИ-инженер»

Закрытая бета

Знать тему — половина дела

На живом собеседовании sotto слышит вопрос интервьюера и показывает короткий ответ и план. Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем