Каталог/назад к курсам
Docker и Docker Compose: контейнеризация приложений
DevOpsНачальный

Docker и Docker Compose: контейнеризация приложений

Упакуйте приложение в Docker и запустите его с PostgreSQL через Compose. Образы, сети, тома, диагностика поломок, обновление версий и восстановление данных — с практикой и итоговым проектом.

10 модулей • 45 уроков77 заданий с проверкойоколо 48 ч
Код в браузере: DockerСвободный темпСертификат с проверкой

О курсе

Приложение работает у вас — а у коллеги не запускается? Docker помогает собрать код и зависимости в образ и запускать проект в предсказуемом окружении. На курсе вы пройдёте путь от первого контейнера до приложения с PostgreSQL, которое можно передать другому разработчику.

От docker run до собственного Compose-проекта

Разберётесь, чем образ отличается от контейнера, как работает основной процесс и где искать причину остановки. Напишете Dockerfile для учебного HTTP-сервиса, настроите команды запуска, переменные окружения, порты и связь между контейнерами.

Подключите PostgreSQL, сохраните данные в томах и соберёте сервисы в Docker Compose. Проверите готовность базы через healthcheck, научитесь пересоздавать окружение и запускать несколько независимых проектов на одной машине.

Практика на типичных поломках

Контейнер сразу завершается, сервис недоступен, localhost ведёт не туда, сборка тормозит, а файлы недоступны из-за прав. Вы будете искать причины по логам, состоянию контейнера и конфигурации — и проверять, что исправление действительно сработало.

Отдельно разберёте кэш и многоэтапную сборку, registry и теги образов, секреты, ограничения CPU и памяти. Потренируетесь обновлять приложение, возвращаться к предыдущей версии и восстанавливать базу из резервной копии.

Что останется после курса

В итоговом проекте упакуете приложение с базой данных, подготовите его к запуску другим разработчиком и проверите восстановление данных. Исходники HTTP-сервиса предоставлены: основной фокус — контейнеры и окружение приложения.

Внутри — 45 уроков в 10 модулях, 71 проверочный вопрос, 6 Dockerfile-задач с автоматической проверкой на Latorn и 42 локальные лабораторные. Для работы с Docker, сетями, Compose и данными понадобится Docker Desktop или Docker Engine на вашем компьютере.

Чему научитесь

  • Собирать образы из Dockerfile и управлять командами запуска и переменными окружения.
  • Настраивать порты, сети и связь между контейнерами.
  • Сохранять данные в томах и работать с правами на файлы.
  • Запускать приложение с PostgreSQL через Docker Compose и проверять готовность сервисов.
  • Находить причины сбоев по логам, состоянию контейнеров и конфигурации.
  • Ускорять сборку с помощью кэша, .dockerignore и многоэтапного Dockerfile.
  • Работать с registry и версиями образов, обновлять приложение и выполнять откат.
  • Передавать проект другому разработчику и восстанавливать базу из резервной копии.

Для кого

  • Начинающим разработчикам, которые уже знают основы программирования и Git и хотят освоить Docker.
  • Разработчикам, которым нужно запускать приложение с базой данных в воспроизводимом окружении.
  • Тем, кто уже пользуется Docker по инструкции и хочет самостоятельно разбираться в настройках и поломках.

Формат

  • 45 уроков в 10 модулях: теория, схемы и разобранные примеры.
  • 71 проверочный вопрос и 6 Dockerfile-задач с автоматической проверкой на Latorn.
  • 42 локальные лабораторные: Docker, сети, Compose и данные на вашем компьютере.
  • Итоговый проект: упаковка приложения с PostgreSQL, передача окружения и восстановление данных.

Что нужно на старте

  • Основы любого языка программирования и Git; умение работать с файлами и терминалом.
  • Компьютер с возможностью установить Docker Desktop или Docker Engine.
  • Исходники учебного HTTP-сервиса предоставлены в курсе.
#docker#docker compose#контейнеры#devops

Автор курса

Алексей Малышкин

Разрабатываю образовательные материалы по программированию, машинному обучению и анализу данных. Темы: Python-разработка, аналитика, ML-инструменты (LangChain, vector databases, AI agents), компьютерное зрение. Стараюсь объяснять технические концепции понятно и структурировано. Ранее преподавал на Stepik и обучил более 2000 студентов. Мой профиль на Stepik - https://stepik.org/users/273781420/profile Мой телеграм для связи @alexey_latorn

Программа

01Первый контейнер4 урока
02Процессы и диагностика5 уроков
03Собственный образ5 уроков
04Сеть контейнеров4 урока
05Данные и файловая система4 урока
06Docker Compose6 уроков
07Сборка без лишней работы4 урока
08Окружение команды4 урока
09Доставка и ограничения5 уроков
10Поломки и итоговое приложение4 урока
Дополнительные материалы и практика