Слёрм приглашает на онлайн-интенсив «Docker для разработчиков» 25–26 февраля. Два дня интенсивного обучения для тех, кому важно уверенно работать с Docker. В первый день разберемся с базовым курсом, а во второй — перейдем к продвинутому уровню.

Хотите узнать, насколько хороши в Docker? Пройдите короткий тест.

Или сразу записывайтесь на интенсив.

Спикеры

  • Виктор Попов, техлид DevOps команды дирекции больших данных в X5 Retail Group;
  • Марсель Ибраев, CTO Слёрм;
  • Александр Швалов, инженер Southbridge.

Программа

№1: Введение в Docker (первые 30 минут интенсива)

Зачем: Чтобы разогреть умы.

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

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

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

Зачем: Без этой базы не получится приступить к дальнейшим темам. Если вы не знаете основные команды Docker — то эта тема для вас.

Теория: Команды управления контейнерами, образами (run, rm, push и т.д.).
Registry, Docker Daemon, Container, Image, Dockerfile и их взаимодействие.

Практика: нет

№3: Запуск собственного приложения в Docker

Зачем: Docker нужен, чтобы запускать код в контейнерах. Именно эта тема научит упаковывать произвольный код в образы контейнеров и работать с образами.

Теория: Написание Dockerfile, сборка Image, хранение в DockerHub, запуск приложения.

Практика: Скачиваем готовый контейнер с DockerHub запускаем в нем сайт.

№4: Работа со stateful-данными в Docker

Зачем: Хранение данных в контейнеризованных приложениях имеет ряд подводных камней, а приложения без данных встречаются очень редко. Эта тема покажет, как делать так, чтобы не было мучительно больно.

Теория: Docker Volumes, типы стораджей. Подводные камни и best practices при использовании stateful и Docker.

Практика: Создаем контейнер с базой данных из DockerHub.

№5: Docker-compose файл

Зачем: Docker Compose — отличный инструмент для создания тестовых сред, состоящих из нескольких контейнеров на мощностях разработчика. Удобно для тестирования приложения, но также может использоваться и в промышленной эксплуатации.

Теория: Что это, для чего используется, как настраивается. Разница между v2 и v3.

Практика: Запускаем несколько контейнеров и налаживаем связи между ними. Берем репозиторий с готовыми контейнерами, собираем их в рабочую систему.

№6: Docker и CI/CD

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

Теория: Построение пайплайнов на примере Gitlab. Проблемы при использовании голого Docker и CI/CD. Возможности тестирования через Gitlab.

Практика: Запускаем готовый пайплайн в Gitlab.

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

Зачем: Докер нужен, чтобы запускать код в контейнерах, но разные языки имеют свою специфику сборки. Эта тема покажет особенности сборки контейнеров с разными ЯП.

Теория: Multistage сборка, размер Image. ruby, php, python, go, java, c#, c++

Практика: Собираем один контейнер с компилируемым кодом и один без.

№8: Сеть в Docker

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

Теория: Какие режимы работы сети бывают, где они настраиваются. DNS resolving внутренний. Режимы работы bridge с хостовой системой.

Практика: Настраиваем сеть между контейнерами.

№9: Docker под капотом

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

Теория: Механизмы Linux, обеспечивающие изоляцию контейнера. Низкоуровневые инструменты контейнеризации.

Практика: Покажем, как создавать «контейнер» без Docker (unshare, nsenter…).

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

Зачем: Научимся диагностировать проблемы приложений в контейнерах, а также предупреждать их.

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

Практика: Настраиваем логи для своего приложения. Контейнер падает по непонятной причине, нужно это отследить и прекратить.

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

Зачем: Обход ограничений DockerHub. Да и вообще свой registry – это правильно. Контейнеры на Dockerhub доступны всем, но не весь код можно сделать публичным. Рассмотрим создание приватного registry, чтобы конкуренты не украли ваши контейнеры.

Теория: Как прикрутить к репозиторию авторизацию. Gitlab Registry (Container Registry tag expiration policy), Harbor. Очистка ненужных образов.

Практика: поднимаем свой репозиторий и пушим в него контейнер. Создаем токены Gitlab.

№12: Безопасность в Docker контейнерах

Зачем: DockerHub – это «чертова помойка», не надо пользоваться образами оттуда без необходимости. Поймем, какие угрозы есть при использовании Docker и как их избегать.

Теория: Основные угрозы при запуске приложения в контейнере: запуск от рута, излишние привилегии, уязвимости в Docker, неполноценность изоляции контейнеров, инструменты анализа безопасности контейнеров.

Практика: устраняем грубые уязвимости в контейнере с демонстрационным приложением ИЛИ используем уязвимость, чтобы сделать что-то, чего мы делать не должны.

№13: Использование Docker в облаках

Зачем: Работа на виртуалке с Docker. Есть ли эта услуга as a service? Есть ли какие-то особенности?

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

Зачем: Это теоретический раздел о том, как работает Docker в сложных инфраструктурах.

Теория: Рассказываем, что такое оркестрация и зачем она нужна на примере K8s и swarm. K8s as a service.

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

№15: Аналоги Docker

Зачем: Docker — не единственный инструмент контейнеризации на рынке. Посмотрим на альтернативы, поймём, зачем они вообще нужны и какие проблемы решают.

Теория: Наиболее популярные аналоги Docker, как они работают и зачем нужны. Примеры запуска приложений в этих аналогах.

Практика: Вместе со спикером поднимаем приложение на Podman и Kata.

Записаться на интенсив

Let’s block ads! (Why?)

Read More

Recent Posts

VK купила 40% билетной платформы Intickets.ru

VK объявляет о приобретении 40% компании Intickets.ru (Интикетс). Это облачный сервис для контроля и управления продажей билетов на мероприятия. Сумма…

13 часов ago

OpenAI готовится запустить поисковую систему на базе ChatGPT

OpenAI готовится запустить собственную поисковую систему на базе ChatGPT. Информацию об этом публикуют западные издания. Ожидается, что новый поисковик может…

22 часа ago

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

Центр управления связью общего пользования (ЦМУ ССОП) Роскомнадзора рекомендовал компаниям из реестра провайдеров ограничить доступ поисковых ботов к информации на российских сайтах.…

2 дня ago

Apple возобновила переговоры с OpenAI и Google для интеграции ИИ в iPhone

Apple возобновила переговоры с OpenAI о возможности внедрения ИИ-технологий в iOS 18, на основе данной операционной системы будут работать новые…

7 дней ago

Российская «дочка» Google подготовила 23 иска к крупнейшим игрокам рекламного рынка

Конкурсный управляющий российской «дочки» Google подготовил 23 иска к участникам рекламного рынка. Общая сумма исков составляет 16 млрд рублей –…

7 дней ago

Google завершил обновление основного алгоритма March 2024 Core Update

Google завершил обновление основного алгоритма March 2024 Core Update. Раскатка обновлений была завершена 19 апреля, но сообщил об этом поисковик…

1 неделя ago