Скачать Слёрм - Docker: from zero to hero (2022)

Vezuvio

Магистр
22 Мар 2016
9.468
227.217
Docker: from zero to hero (2022).
Автор: Слёрм


2022-08-16_16-12-59


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

Введение в 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: from zero to hero (2022)», оставьте отзыв о нём в данной теме.

Похожие темы

Сверху