Мини-курс

Docker для начинающих

8 коротких уроков: от первого контейнера до стенда из базы данных и веб-интерфейса в одном файле. Плюс шпаргалка по командам, которую удобно держать под рукой.

  • 8 уроков и итоговый тест
  • ≈ 2,5 ч на весь курс
  • Бесплатно, без регистрации
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. Тест

Коротко о Docker

Docker упаковывает программу вместе со всем, что ей нужно для работы, в контейнер — и он одинаково запускается на ноутбуке разработчика, у тестировщика и на сервере. Больше никакого «у меня работает, а у тебя нет». Docker нужен разработчикам, тестировщикам, DevOps-инженерам и аналитикам: с ним за минуту поднимают базу данных, тестовый стенд или чужой проект, не устанавливая десяток программ.

Зарплаты сильно зависят от города и опыта — смотрите актуальные вакансии: вакансии со знанием Docker на hh.ru.

Зачем учить Docker

Любая программа зависит от окружения: версии языка, библиотек, настроек системы. На одном компьютере она работает, на другом — падает с непонятной ошибкой. Docker решает это раз и навсегда: программа едет вместе со своим окружением в контейнере.

Поэтому Docker стал стандартом в разработке и тестировании. Строчку «опыт работы с Docker» можно встретить в вакансиях разработчиков, тестировщиков, DevOps-инженеров и даже аналитиков.

В каждом уроке — команды с разбором, задание с решением и мини-тест. Все команды курса собраны в шпаргалке.

Кому подойдёт, а кому нет

Скорее подойдёт, если

  • Начинаете путь в разработке, тестировании или DevOps и видите Docker в вакансиях
  • Устали устанавливать базы данных и программы ради одного проекта
  • Хотите запускать чужие проекты одной командой
  • Уже немного работаете с командной строкой

Скорее не подойдёт, если

  • Совсем не работаете с командной строкой и не готовы начать — в курсе всё через неё
  • Ищете Kubernetes, оркестрацию и настройку серверов в продакшене — курс вводный
  • Не работаете с кодом, базами данных и серверами и не планируете

Программа: 8 уроков

  1. Урок 1из 8 пройдензнаете

    Зачем нужен Docker: образ, контейнер и установка

    Какую проблему решает Docker, чем образ отличается от контейнера, а контейнер — от виртуальной машины, как установить Docker и проверить его.

    15 мин · Дальше: Первый контейнер: запуск, список, логи, остановка
    Открыть
  2. Урок 2из 8 пройдензнаете

    Первый контейнер: запуск, список, логи, остановка

    Как запустить контейнер с веб-сервером и открыть его в браузере, посмотреть список контейнеров и логи, остановить, запустить снова и удалить, а также зайти в контейнер в интерактивном режиме.

    20 мин · Дальше: Образы: теги, слои и реестры
    Открыть
  3. Урок 3из 8 пройдензнаете

    Образы: теги, слои и реестры

    Откуда берутся образы, что такое тег и почему latest коварен, как образы складываются из слоёв, чем официальные образы отличаются от остальных и как смотреть и удалять образы на компьютере.

    20 мин · Дальше: Dockerfile: собираем свой образ
    Открыть
  4. Урок 4из 8 пройдензнаете

    Dockerfile: собираем свой образ

    Как описать свой образ в Dockerfile: инструкции FROM, WORKDIR, COPY, RUN, EXPOSE и CMD, сборка командой docker build, теги версий, кэш слоёв и файл .dockerignore.

    20 мин · Дальше: Данные: тома и монтирование папок
    Открыть
  5. Урок 5из 8 пройдензнаете

    Данные: тома и монтирование папок

    Почему данные внутри контейнера пропадают вместе с ним, как сохранить их в томе на примере PostgreSQL, как подключить папку с компьютера к контейнеру и как управлять томами.

    20 мин · Дальше: Сеть и порты: как контейнеры общаются
    Открыть
  6. Урок 6из 8 пройдензнаете

    Сеть и порты: как контейнеры общаются

    Как работает публикация портов и почему возникает ошибка «port is already allocated», почему localhost внутри контейнера — это сам контейнер, как создать сеть и связать контейнеры по имени на примере базы данных и веб-интерфейса Adminer.

    20 мин · Дальше: Docker Compose: несколько контейнеров одним файлом
    Открыть
  7. Урок 7из 8 пройдензнаете

    Docker Compose: несколько контейнеров одним файлом

    Как описать сайт, базу данных и веб-интерфейс в одном файле compose.yaml и запускать их одной командой: сервисы, порты, тома, сборка своего образа, файл .env для паролей и команды up, ps, logs и down.

    25 мин · Дальше: Отладка, уборка и хорошие привычки
    Открыть
  8. Урок 8из 8 пройдензнаете

    Отладка, уборка и хорошие привычки

    Что делать, если контейнер не запускается или сразу завершается: логи, коды выхода, docker exec и inspect. Частые ошибки и их причины, как освободить место на диске, хорошие привычки работы с Docker и что изучать дальше.

    20 мин
    Открыть

Все команды курса собраны в шпаргалке — удобно держать под рукой.

Итоговый тест

16 вопросов по всем урокам, около 12 минут. В конце — разбор ошибок, темы для повторения и вывод: стоит ли углубляться в Docker и DevOps.

Пройти тест

Что дальше

Если тема зацепила, продолжить можно так.

Бесплатно, своими силами

  • Упакуйте в контейнер любой свой проект — сайт из курса «HTML и CSS» или скрипт на Python — и запустите его на другом компьютере.
  • Соберите через Docker Compose стенд из базы данных и веб-интерфейса к ней и потренируйтесь на нём в SQL.
  • Держите открытой шпаргалку по командам Docker и через неделю попробуйте обходиться без неё.
  • Прочитайте раздел Get started в официальной документации Docker — после курса он читается легко.
  • Положите Dockerfile и compose.yaml своего проекта в репозиторий на GitHub — это хорошая строчка в портфолио.

С курсом и наставником

Готовим подборку курсов: цена, срок, формат и есть ли помощь с работой. Сравним несколько школ, а не одну «лучшую».

Частые вопросы

Что нужно установить?

Docker Desktop на Windows или Mac, Docker Engine на Linux. Как установить и проверить, разбираем в первом уроке. Docker Desktop бесплатен для личного использования и небольших компаний.

Нужно ли уметь программировать?

Нет. Хватит уверенной работы с командной строкой. В примерах мы запускаем готовые программы — веб-сервер и базу данных, — а не пишем свои.

Что такое шпаргалка?

Отдельная страница со всеми командами курса, сгруппированными по задачам: запустить, посмотреть, остановить, очистить. У каждой команды — пояснение и ссылка на урок.

Сколько времени займёт курс?

Около трёх часов: 8 уроков по 15–25 минут и итоговый тест. Удобный темп — урок в день, с командами в своём терминале.

Это бесплатно?

Да, и без регистрации. Сайт зарабатывает на партнёрских программах онлайн-школ — как это устроено, рассказываем на странице «О проекте».