Чему вы научитесь
- Создавать небольшие HTTP-приложения на FastAPI и проверять их ответы до и после контейнеризации
- Различать Docker-образ и контейнер, управлять запуском, остановкой и удалением контейнеров
- Писать Dockerfile для Python-приложения, собирать образ и запускать сервис из собственного образа
- Различать внутренние порты контейнера и порты, опубликованные на компьютере
- Описывать несколько связанных сервисов в Docker Compose и запускать их одной командой
- Настраивать переменные окружения и подключать FastAPI к PostgreSQL и Redis
- Использовать имена сервисов и сеть Compose для взаимодействия контейнеров, не обращаясь к localhost другого контейнера
- Проверять готовность зависимых сервисов и отличать запущенный контейнер от приложения, принимающего запросы
- Подключать именованные тома и проверять сохранность данных после штатного удаления и повторного создания контейнеров
- Выполнять резервное копирование и восстановление учебной базы PostgreSQL с проверкой сохранённых записей
- Настраивать сохранение данных Redis с помощью AOF и проверять значение счётчика после повторного запуска проекта
- Использовать docker compose config, ps и logs для проверки конфигурации, состояния сервисов и поиска ошибок
- Диагностировать нарушения соединения между FastAPI и хранилищем по HTTP-ответам, настройкам и журналам контейнеров
- Восстанавливать работу Compose-проекта после ошибки конфигурации и подтверждать исправление без потери сохранённых данных
О курсе
Для кого этот курс
Начальные требования
🧠 Что нужно знать
- Основы Python: функции, импорты, работа с пакетами и простые условия.
- Что такое HTTP-запрос и JSON-ответ; уметь открыть URL в браузере.
- Уметь работать с файлами, терминалом и выполнить базовые команды Git.
Предварительное знание Docker, Docker Compose, FastAPI, PostgreSQL или Redis не требуется: нужные понятия разбираются в уроках.
🛠️ Инструменты
Понадобятся Git и GitHub-аккаунт, Python 3.12 и Docker Engine или Docker Desktop с поддержкой Compose V2. Дополнительное платное облако не требуется. В начале курса даны установка и проверка инструментов для Windows, macOS и Ubuntu Linux, а также действия при ошибках.
💻 Ресурсы компьютера
На компьютере должны запускаться локальные Docker-контейнеры FastAPI, PostgreSQL и Redis. На обычном занятии одновременно запускается только пара контейнеров одного проекта. Перед установкой Docker Desktop сверьте системные требования для вашей ОС на его официальной странице.
💰 Доступ и стоимость
Нужен собственный GitHub-репозиторий. Платные API-ключи и облачные сервисы не требуются. Курс бесплатный и использует самостоятельную проверку заданий.
Преподаватели курса
Как проходит обучение
📦 Два приложения — два способа закрепить Docker Compose. Короткие объяснения и вопросы сразу переходят в работу с локальными контейнерами.
- 🛠️ Вместе с курсом: собираете FastAPI-приложение с PostgreSQL, настраиваете сеть и том, проверяете HTTP-ответ и сохранность данных.
- 🚀 Самостоятельно: запускаете счётчик с Redis и разбираетесь с ошибкой подключения.
- ✅ Проверяете результат: повторяете запуск и сверяете поведение сервисов с ожидаемым.
Что вы получите
- Два небольших HTTP-приложения на FastAPI: сервис заметок с PostgreSQL и самостоятельно созданный счётчик с Redis
- Dockerfile и конфигурации Docker Compose для запуска каждого приложения вместе с его хранилищем
- Настроенные сети, переменные окружения и проверки готовности сервисов для локального взаимодействия контейнеров
- Именованные тома с проверенной сохранностью данных PostgreSQL и Redis при штатном пересоздании контейнеров
- Практический результат резервного копирования и восстановления PostgreSQL и настройки Redis AOF
- Исправленная конфигурация счётчика после самостоятельной диагностики сбоя подключения, сохранённая в собственном Git-репозитории