[Слёрм] Docker: from zero to hero (2022)

200 

Описание

[Слёрм] Docker: from zero to hero (2022)

[Слёрм] Docker from zero to hero (2022)

Программа курса
После теории будут практические задания на специально подготовленных стендах, которые можно создать из Личного Кабинета. Учебные стенды Слёрм это не симуляторы или тренажеры, а самые настоящие боевые серверы, то есть ваша практика будет близка к продакшену

Введение в Docker
Зачем: Чтобы разогреть умы.

Теория: Что такое Docker, как возник, какие проблемы решает. Чем различаются виртуализация и контейнеризация, практика современного применения. Тонкости установки Docker на Centos, Debian, Mac и Windows (как настраивать daemon и какие есть ограничения).

Практика: Знакомство со стендом, устанавливаем Docker на сервер. 30 минут

Основные команды и абстракции 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 под капотом:

Зачем: Научимся работать с контейнерами в Kubernetes — по следам хайпа про прекращение поддержки Docker в Kubernetes. В этой теме посмотрим, как именно работает 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.

Практика: Демонстрация того, как из локальных манифестов запустить приложение в миникубе.

Автор курса: Слёрм

Сайт продажника: https://slurm.io/docker-intensive

Цена с продажника: 15000 руб.

У нас Вы можете приобрести всего за 200 руб.

Отзывы

Отзывов пока нет.

Будьте первым, кто оставил отзыв на “[Слёрм] Docker: from zero to hero (2022)”