Сложность
Сложность
Продвинутый
Тип обучения
Тип обучения
Курс
Трудоустройство
Трудоустройство
Отсутствует
Сертификат
Сертификат
Да

Стоимость курса

15 000 ₽
есть рассрочка

Кому подойдёт курс:

  • Junior-разработчики
  • Junior DevOps инженеры
  • Руководители разработки

Узнаете, что такое Docker, разберете особенности использования Docker с различными языками программирования, научитесь безопасно работать с Docker-контейнерами и расширите пул доступных вам инструментов

  • Системные администраторы

Сэкономите время и силы на обучение новичков. В рамках курса сделаем из Junior-разработчиков специалистов по Docker, которые смогут полноценно использовать инструмент в своей работе



 

Что вы получите после обучения

Приобретаемые навыки
1
CI/CD
2
Мониторинг
5
Kubernetes
6
Безопасность
7
Работа с данными
8
DNS
9
Docker Compose
10
Docker Registry Hub
11
Логи
12
Multistage
13
SWARM
Сертификат, ссылками на который можно делиться с другими людьми

Вас будут обучать

Developer Advocate в Southbridge

— Инженер с 8-летним стажем,
— Certified Kubernetes Administrator,
— Внедрения Kubernetes для клиентов Southbridge,
— Разработчик курсов и спикер Слёрм.

Старший системный инженер, Wrike, ex-Слёрм, ex-Southbridge

 

– Настраивал и сопровождал Kubernetes-проекты в Southbridge
– Certified Kubernetes Administrator
– Преподаёт на курсах Слёрм

DevOps-инженер в НЛМК IT

Техлид DevOps-команды в X5 Group

Образовательная организация

Учебный центр: обучение для инженеров и технических лидеров. 

Слёрм вырос из внутреннего обучения Southbridge, аутсорсера администрирования нагруженных проектов. В процессе обучения сотрудников появился учебный курс по Kubernetes, а потом базовый курс дополнился продвинутым, появились курсы DevOps, Docker, Ceph, SRE.

Задача Слёрма - передавать применимые на практике знания для IT-специалистов. Учим DevOps-инженеров и разработчиков от новичков до техлидов. 

Учим тому, в чём уверены сами.

Мы улучшаем IT-мир, создавая полезное образование для специалистов, и предпочитаем развиваться без оглядки на других, идти собственным путём.

Программа курса

Введение в Docker

Основные команды и абстракции Docker. CLI. Общая схема работы Docker

  • Зачем: без этой базы не получится приступить к дальнейшим темам. Если вы не
    знаете основные команды Docker — то эта тема для вас.
  • Теория: Команды управления контейнерами, образами (run, rm, push и т.д.). Registry, Docker Daemon, Container, Image, Dockerfile и их взаимодействие.
  • Практика: Нет

 

Docker и хранение данных

  • Зачем: Хранение данных в контейнеризованных приложениях имеет ряд подводных камней, а приложения без данных встречаются очень редко. Эта тема покажет, как делать так, чтобы не было мучительно больно.
  • Теория: Docker Volumes, типы стораджей. Подводные камни и best practices при использовании stateful и Docker.
  • Практика: Создаем контейнер с базой данных из DockerHub.

 

Docker-compose файл

  • Зачем: Docker Compose — отличный инструмент для создания тестовых сред, состоящих из нескольких контейнеров на мощностях разработчика. Удобно для тестирования приложения, но также может использоваться и в промышленной эксплуатации.
  • Теория: Что это, для чего используется, как настраивается. Разница между v2 и v3.
  • Практика: Запускаем несколько контейнеров и налаживаем связи между ними. Берем репозиторий с готовыми контейнерами, собираем их в рабочую систему.

 

Docker и CI/CD

  • Зачем: Деплоить код без CI/CD процессов в наше время считается дурным тоном. Посмотрим, как Docker помогает доставлять код на различные среды (prod, dev, test), как в целом работают CI/CD процессы с участием Docker и какие нюансы есть в этих процессах.
  • Теория: Построение пайплайнов на примере Gitlab. Проблемы при использовании голого Docker и CI/CD. Возможности тестирования через Gitlab.
  • Практика: Запускаем готовый пайплайн в Gitlab.

 

Сеть в Docker

  • Зачем: Приложения в контейнере редко нужны сами себе, обычно их нужно предоставить пользователям или получать доступ из контейнера к другому приложению, например, базе данных. В этой теме поймем, как это сделать, а также, как работает сеть в Docker и какие режимы работы сети бывают.
  • Теория: Какие режимы работы сети бывают, где они настраиваются. DNS resolving внутренний. Режимы работы bridge с хостовой системой.
  • Практика: Настраиваем сеть между контейнерами.

 

Docker под капотом

  • Зачем: В этой теме посмотрим, как именно работает Docker, а также узнаем, почему отказ Kubernetes от Docker — это не страшно. Понимание работы Docker позволит делать приложения безопаснее, обеспечивая необходимый уровень изоляции.
  • Теория: Механизмы Linux, обеспечивающие изоляцию контейнера. Низкоуровневые инструменты контейнеризации.
  • Практика: Покажем, как создавать «контейнер» без Docker (unshare, nsenter...).

 

Особенности использования Docker с различными языками программирования, в том числе с компилируемыми языками

  • Зачем: Докер нужен, чтобы запускать код в контейнерах, но разные языки имеют свою специфику сборки. Эта тема покажет особенности сборки контейнеров с разными ЯП.
  • Теория: Multistage сборка, размер Image. ruby, php, python, go, java, c#, c++
  • Практика: Собираем один контейнер с компилируемым кодом и один без.

 

Логирование и мониторинг Docker контейнеров

  • Зачем: Научимся диагностировать проблемы приложений в контейнерах, а также предупреждать их.
  • Теория: Особенности мониторинга микросервисной инфраструктуры. Инструменты и подходы. Мониторинг Docker. Про то, как работает логгинг в контейнере, почему не стоит складывать логи в файл. Enterprise решения. Как собирать метрики. Endpoint + health check.
  • Практика: Настраиваем логи для своего приложения. Контейнер падает по непонятной причине, нужно это отследить и прекратить.

 

Продвинутая работа с образами. Настройка собственного Registry

  • Зачем: Обход ограничений DockerHub. Да и вообще свой registry – это правильно. Контейнеры на Dockerhub доступны всем, но не весь код можно сделать публичным. Рассмотрим создание приватного registry, чтобы конкуренты не украли ваши контейнеры.
  • Теория: Как прикрутить к репозиторию авторизацию. Gitlab Registry (Container Registry tag expiration policy), Harbor. Очистка ненужных образов.
  • Практика: Поднимаем свой репозиторий и пушим в него контейнер. Создаем токены Gitlab.

 

Безопасность в Docker

  • Зачем: DockerHub – это «чертова помойка», не надо пользоваться образами оттуда без необходимости. Поймем, какие угрозы есть при использовании Docker и как их избегать.
  • Теория: Основные угрозы при запуске приложения в контейнере: запуск от рута, излишние привилегии, уязвимости в Docker, неполноценность изоляции контейнеров, инструменты анализа безопасности контейнеров.
  • Практика: Устраняем грубые уязвимости в контейнере с демонстрационным приложением ИЛИ используем уязвимость, чтобы сделать что-то, чего мы делать не должны.

 

Аналоги Docker

  • Зачем: Docker — не единственный инструмент контейнеризации на рынке. Посмотрим на альтернативы, поймём, зачем они вообще нужны и какие проблемы решают.
  • Теория: Наиболее популярные аналоги Docker, как они работают и зачем нужны. Примеры запуска приложений в этих аналогах.
  • Практика: Вместе со спикером поднимаем приложение на Podman и Kata.

 

Оркестрация Docker. Kubernetes, Docker SWARM. Различия, фичи, для чего оно нужно

  • Зачем: Это теоретический раздел о том, как работает Docker в сложных инфраструктурах.
  • Теория: Рассказываем, что такое оркестрация и зачем она нужна на примере K8s и swarm. K8s as a service.
  • Практика: Демонстрация того, как из локальных манифестов запустить приложение в миникубе.

 

Аутро курса

Рейтинг курса

3
рейтинг
0
0
0
0
0

Может быть интересно

обновлено 26.03.2024 09:42
Docker для админов и разработчиков

Docker для админов и разработчиков

Оставить отзыв
Поделиться курсом с друзьями