На нашем сайте включены cookies, потому что мы используем услуги Facebook Pixel, Google Analytics и Yandex.Metrika. Вы можете отказаться от них и продолжить пользоваться сайтом.
Ок, не показывать больше
Close
 
На нашем сайте включены cookies, потому что мы используем услуги Facebook Pixel, Google Analytics и Yandex.Metrika. Вы можете отказаться от них и продолжить пользоваться сайтом.
Ок, не показывать больше
Close
Двухдневный практический интенсив по работе с Terraform. 24–25 апреля
Close
В Docker больше 6 команд

Мы провели интенсив «Docker: from zero to hero», на котором не рассказывали капитанскую теорию.

На два дня студенты погрузились в работу с Docker: запускали сайт в контейнере, рассматривали подводные камни при использовании stateful и Docker, собирали несколько контейнеров в рабочую систему, запускали готовый pipeline в Gitlab и учились обходить ограничения DockerHub. Поняли, как работает Docker "под капотом" и как использовать контейнеры в Kubernetes после того, как он выпилил Docker.

Узнали об особенностях использования контейнеров с ruby, php, python, go, java, c#, c++ и работе Docker в облаках. И это еще не все.

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

ФОРМАТ
Записи онлайн-интенсива
СТОИМОСТЬ
10 000 ₽
Предлагаем к изучению записи интенсива.
Пара строк о капитанской теории
Залог продуктивного участия в интенсиве — знание базовых абстракций, терминов и команд. В интернете предостаточно теоретической информации по Docker. Поэтому базовой теории на интенсиве совсем немного. Ниже мы собрали полезные дополнительные материалы от экспертов.

А если вы это и так знаете, можно пройти тест.

Посмотреть про Docker:
Что такое Docker?
Контейнеризация понятным языком (интервью)

Почитать:
Docker и все, все, все
Контейнеризация понятным языком. Часть 1
Контейнеризация понятным языком. Часть 2
Спасибо, Кэп!
Сергей Бондарев,
Архитектор в Southbridge
Тест
Узнай, насколько ты хорош в Docker
Просмотр записей интенсива по Docker предполагает, что студент умеет работать в командной строке, знает Linux системы
Пройти тест
Как собрать образ Docker?
Дальше
Проверить
Узнать результат
Как называется инструкция сборки образа Docker?
Дальше
Проверить
Узнать результат
Какой командой можно отправить образ Docker в Registry?
Дальше
Проверить
Узнать результат
Какой командой можно посмотреть ВСЕ контейнеры Docker?
Дальше
Проверить
Узнать результат
Как попасть внутрь контейнера?
Дальше
Проверить
Узнать результат
Как называется нативный оркестратор от Docker?
Дальше
Проверить
Узнать результат
Как называется серверная часть Docker?
Дальше
Проверить
Узнать результат
Какая сеть используется в Docker по умолчанию?
Дальше
Проверить
Узнать результат
Воооу, оказалось немного сложнее, чем вы ожидали?
Мы рекомендуем еще раз обратить внимание на блок «капитанской теории»
Пройти еще раз
Отлично!
Но всё же вам может понравиться наша подборка в разделе «капитанской теории»
Пройти еще раз
Супер!
Здорово, что у вас всё получилось на отлично! Верим, что и на интенсиве получится!
Пройти еще раз

Программа прошедшего интенсива

Занятия проходили с 10:00 до 19:00.
Вы можете посмотреть весь интенсив или же выбрать только интересующие вас темы.
№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. Kubernetes, Docker SWARM. Различия, фичи, для чего оно нужно
Зачем: Это теоретический раздел о том, как работает Docker в сложных
инфраструктурах.

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

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

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

Практика: Вместе со спикером поднимаем приложение на Podman и Kata.
№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. Kubernetes, Docker SWARM. Различия, фичи, для чего оно нужно
Зачем: Это теоретический раздел о том, как работает Docker в сложных
инфраструктурах.

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

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

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

Практика: Вместе со спикером поднимаем приложение на Podman и Kata.
Записи интенсива сопровождаются практическими заданиями
У вас будет возможность выполнять практические задания с комфортной скоростью, останавливая запись. Поддержку на практических заданиях оказывает техническая поддержка.
Виктор Попов
Спикеры интенсива
Инженер Southbridge

— Администратор с 7-летним стажем.
— Certified Kubernetes Administrator.
— Разработчик курсов Слёрм.
— Настройка и сопровождение Kubernetes-проектов в Southbridge.
CTO Слёрм

— Инженер с 8-летним стажем
— Certified Kubernetes Administrator
— Внедрения Кубернетес для клиентов Southbridge
— Разработчик курсов и спикер Слёрм
Александр Швалов
Марсель Ибраев
Техлид DevOps команды дирекции больших данных в X5 Retail Group

— Выстраивает DevOps процессы уже 6 лет. Начал еще когда не знал, что такое DevOps.
— Поддерживает и развивает k8s кластера as-a-service для 20+ продуктовых команд, а также кучу сопутствующих инструментов.
Обучаем команды
Только для вашей компании
Мы проведем для вас индивидуальный интенсив. Сделаем программу под ваши нужды и стек технологий.

Стоимость считаем от количества часов обучения.
Интенсив для сотрудников компании
Мы свяжемся с вами для уточнения деталей
Ваше имя
Номер телефона
Нажимая кнопку, вы даете согласие на обработку ваших персональных данных и соглашаетесь с политикой конфиденциальности
Интенсив на индивидуальных условиях
Готовы разработать предложение под ваш стек технологий
Ваше имя
Номер телефона
Нажимая кнопку, вы даете согласие на обработку ваших персональных данных и соглашаетесь с политикой конфиденциальности
Стоимость записей
10 000 ₽
Доступ к видеозаписям в личном кабинете
Купить
2 500 ₽/мес
Рассрочка на 4 месяца
Без переплат
Первая оплата через месяц
Оставить заявку
10 000 ₽
Предзаказ на участие в интенсиве
10–11 июля 2021
Зарегистрироваться
Регистрация на интенсив «Docker: from zero to hero, 2 поток»
10 000 ₽
Имя и фамилия
E-mail
Телефон
Нажимая кнопку, вы даете согласие на обработку ваших персональных данных и соглашаетесь с политикой конфиденциальности
Видеозаписи интенсива «Docker: from zero to hero»
Плачу сам
Рассрочка
Платит компания
10 000 ₽
Имя и фамилия
E-mail
Телефон
Комментарий
Ваша роль в команде
Нажимая кнопку, вы даете согласие на обработку ваших персональных данных и соглашаетесь с политикой конфиденциальности
2 500 ₽
Переплата
Рассрочка
1-ый платёж
Платёж в мес
0 ₽
4 месяца
0%
С вами свяжется наш менеджер и отправит ссылку на оформление рассрочки
E-mail
Телефон
Telegram
Комментарий
Нажимая кнопку, вы даете согласие на обработку ваших персональных данных и соглашаетесь с политикой конфиденциальности
Имя и фамилия
E-mail
Телефон
Комментарий
Приложите файл
Нажимая кнопку, вы даете согласие на обработку ваших персональных данных и соглашаетесь с политикой конфиденциальности
Способы оплаты
Рассрочка
Процесс оформления:
1. Оставляете заявку и получаете на почту анкету для оформления рассрочки.
2. Банк принимает решение в течение нескольких минут.
3. Заключаете сделку с банком онлайн.
4. Мы отправляем кассовый чек на эл. почту
и предоставляем доступ к курсу.

Условия рассрочки:
Срок: 4 месяца
Первый платеж: от 0 руб.
Переплата: 0 руб. Вы оплачиваете только стоимость курса, без процентов.
Предоставляется только физическим лицам.