Анонс Интенсива «Докер: От Нуля До Героя»



Анонс интенсива «Докер: от нуля до героя»

Slurm приглашает вас на онлайн-интенсив «Докер: от нуля до героя» 27–28 февраля.

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

Хотите знать, насколько хорош Docker? Открыть короткую позицию тест .

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



Динамики

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


Программа

№1: Введение в Docker (первые 30 минут интенсива) За что: Чтобы согреть умы.

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

Тонкости установки Docker на Centos, Debian, Mac и Windows (как настроить демон и какие ограничения).

Упражняться: знакомство со стендом, установка Docker на сервер.

30 минут №2: Основные команды и абстракции Docker. Интерфейс командной строки.

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

Если вы не знаете основных команд Docker, то эта тема для вас.

Теория: Команды управления контейнерами и образами (run, rm, push и т.д.).

Реестр, Docker Daemon, Container, Image, Dockerfile и их взаимодействие.

Упражняться: Нет №3: Запустите собственное приложение в Docker За что: Docker нужен для запуска кода в контейнерах.

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

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

Упражняться: Скачайте готовый контейнер с DockerHub и запустите в нем сайт. №4: Работа с данными с состоянием в Docker За что: Хранение данных в контейнерных приложениях имеет ряд подводных камней, а приложения без данных встречаются очень редко.

Эта тема покажет вам, как это сделать, не причиняя при этом мучительной боли.

Теория: Docker Volumes, типы хранилищ.

Подводные камни и лучшие практики при использовании Stateful и Docker. Упражняться: Создаем контейнер с базой данных из DockerHub. #5: Файл, созданный Docker За что: Docker Compose — отличный инструмент для создания тестовых сред, состоящих из нескольких контейнеров, на территории разработчика.

Удобен для тестирования приложений, но также может использоваться в производстве.

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

Разница между v2 и v3. Упражняться: Запускаем несколько контейнеров и устанавливаем связи между ними.

Берем репозиторий с готовыми контейнерами и собираем их в работающую систему.

#6: Докер и CI/CD За что: Развертывание кода без процессов CI/CD в наши дни считается дурным тоном.

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

Теория: Построение пайплайнов на примере Gitlab. Проблемы при использовании голого Docker и CI/CD. Возможности тестирования через Gitlab. Упражняться: Готовый пайплайн запускаем в Gitlab. №7: Особенности использования Docker с различными языками программирования, в том числе компилируемыми языками За что: Docker нужен для запуска кода в контейнерах, но разные языки имеют свою специфику сборки.

В этой теме будут показаны особенности сборки контейнеров с разными языками.

Теория: Многоэтапная сборка, Размер изображения.

Ruby, PHP, Python, Go, Java, C#, C++ Упражняться: Собираем один контейнер с скомпилированным кодом и один без.

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

В этой теме мы разберемся, как это сделать, а также как работает сеть в Docker и какие режимы работы сети существуют. Теория: Какие режимы работы сети существуют, где они настраиваются? Разрешение DNS внутреннее.

Режимы работы моста с хост-системой.

Упражняться: Настройка сети между контейнерами.

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

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

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

Инструменты низкоуровневой контейнеризации.

Упражняться: Мы покажем вам, как создать «контейнер» без Docker (unshare, nsenter.).

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

Теория: Особенности мониторинга микросервисной инфраструктуры.

Инструменты и подходы.

Докер-мониторинг.

О том, как работает логирование в контейнере, почему не стоит хранить логи в файл.

Корпоративные решения.

Как собирать метрики.

Конечная точка + проверка работоспособности.

Упражняться: Настройка журналов для вашего приложения.

Контейнер падает по неизвестной причине, вам необходимо его выследить и остановить.

№11: Продвинутая работа с изображениями.

Настройка собственного реестра За что: Обход ограничений DockerHub. И вообще иметь свой реестр – это правильно.

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

Рассмотрите возможность создания частного реестра, чтобы предотвратить кражу ваших контейнеров конкурентами.

Теория: Как прикрепить авторизацию к репозиторию.

Реестр Gitlab (политика истечения срока действия тега реестра контейнеров), Harbour. Очистка ненужных изображений.

Упражняться: Поднимаем наш репозиторий и запихиваем в него контейнер.

Мы создаем токены Gitlab. #12: Безопасность в контейнерах Docker За что: DockerHub — это «чертов дамп», без необходимости использовать образы оттуда не стоит. Давайте разберемся, какие угрозы возникают при использовании Docker и как их избежать.

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

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

№ 13: Использование Docker в облаках За что: Работаем на виртуальной машине с Docker. Доступна ли эта услуга как услуга? Есть ли какие-то особенности? № 14: Оркестровка Docker. Кубернетес, Докер SWARM. Отличия, особенности, зачем это нужно За что: Это теоретический раздел о том, как Docker работает в сложных инфраструктурах.

Теория: Расскажем, что такое оркестровка и зачем она нужна на примере K8s и swarm. K8s как услуга.

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

№15: Аналоги Docker За что: Docker — не единственный инструмент контейнеризации на рынке.

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

Примеры запуска приложений в этих аналогах.

Упражняться: Вместе со спикером поднимаем заявку на Подман и Ката.

Стоимость обучения - 10 000 руб.

Запишитесь на интенсив Теги: #программирование #Разработка сайтов #докер #DevOps #Образовательный процесс в IT #slurm

Вместе с данным постом часто просматривают: