Слёрм приглашает на онлайн-интенсив «Docker для разработчиков» 25–26 февраля. Два дня интенсивного обучения для тех, кому важно уверенно работать с Docker. В первый день разберемся с базовым курсом, а во второй — перейдем к продвинутому уровню.
Хотите узнать, насколько хороши в Docker? Пройдите короткий тест.
Или сразу записывайтесь на интенсив.
Зачем: Чтобы разогреть умы.
Теория: Что такое Docker, как возник, какие проблемы решает. Чем различаются виртуализация и контейнеризация, практика современного применения. Тонкости установки Docker на Centos, Debian, Mac и Windows (как настраивать daemon и какие есть ограничения).
Практика: знакомство со стендом, устанавливаем Docker на сервер. 30 минут
Зачем: Без этой базы не получится приступить к дальнейшим темам. Если вы не знаете основные команды Docker — то эта тема для вас.
Теория: Команды управления контейнерами, образами (run, rm, push и т.д.).
Registry, Docker Daemon, Container, Image, Dockerfile и их взаимодействие.
Практика: нет
Зачем: Docker нужен, чтобы запускать код в контейнерах. Именно эта тема научит упаковывать произвольный код в образы контейнеров и работать с образами.
Теория: Написание Dockerfile, сборка Image, хранение в DockerHub, запуск приложения.
Практика: Скачиваем готовый контейнер с DockerHub запускаем в нем сайт.
Зачем: Хранение данных в контейнеризованных приложениях имеет ряд подводных камней, а приложения без данных встречаются очень редко. Эта тема покажет, как делать так, чтобы не было мучительно больно.
Теория: Docker Volumes, типы стораджей. Подводные камни и best practices при использовании stateful и Docker.
Практика: Создаем контейнер с базой данных из DockerHub.
Зачем: Docker Compose — отличный инструмент для создания тестовых сред, состоящих из нескольких контейнеров на мощностях разработчика. Удобно для тестирования приложения, но также может использоваться и в промышленной эксплуатации.
Теория: Что это, для чего используется, как настраивается. Разница между v2 и v3.
Практика: Запускаем несколько контейнеров и налаживаем связи между ними. Берем репозиторий с готовыми контейнерами, собираем их в рабочую систему.
Зачем: Деплоить код без CI/CD процессов в наше время считается дурным тоном. Посмотрим, как Docker помогает доставлять код на различные среды (prod, dev, test), как в целом работают CI/CD процессы с участием Docker и какие нюансы есть в этих процессах.
Теория: Построение пайплайнов на примере Gitlab. Проблемы при использовании голого Docker и CI/CD. Возможности тестирования через Gitlab.
Практика: Запускаем готовый пайплайн в Gitlab.
Зачем: Докер нужен, чтобы запускать код в контейнерах, но разные языки имеют свою специфику сборки. Эта тема покажет особенности сборки контейнеров с разными ЯП.
Теория: Multistage сборка, размер Image. ruby, php, python, go, java, c#, c++
Практика: Собираем один контейнер с компилируемым кодом и один без.
Зачем: Приложения в контейнере редко нужны сами себе, обычно их нужно предоставить пользователям или получать доступ из контейнера к другому приложению, например, базе данных. В этой теме поймем, как это сделать, а также, как работает сеть в Docker и какие режимы работы сети бывают.
Теория: Какие режимы работы сети бывают, где они настраиваются. DNS resolving внутренний. Режимы работы bridge с хостовой системой.
Практика: Настраиваем сеть между контейнерами.
Зачем: Научимся работать с контейнерами в Kubernetes — по следам хайпа про прекращение поддержки Docker в Kubernetes. В этой теме посмотрим, как именно работает Docker, а также узнаем, почему отказ Kubernetes от Docker — это не страшно. Понимание работы Docker позволит делать приложения безопаснее, обеспечивая необходимый уровень изоляции.
Теория: Механизмы Linux, обеспечивающие изоляцию контейнера. Низкоуровневые инструменты контейнеризации.
Практика: Покажем, как создавать «контейнер» без Docker (unshare, nsenter…).
Зачем: Научимся диагностировать проблемы приложений в контейнерах, а также предупреждать их.
Теория: Особенности мониторинга микросервисной инфраструктуры. Инструменты и подходы. Мониторинг Docker. Про то, как работает логгинг в контейнере, почему не стоит складывать логи в файл. Enterprise решения. Как собирать метрики. Endpoint + health check.
Практика: Настраиваем логи для своего приложения. Контейнер падает по непонятной причине, нужно это отследить и прекратить.
Зачем: Обход ограничений DockerHub. Да и вообще свой registry – это правильно. Контейнеры на Dockerhub доступны всем, но не весь код можно сделать публичным. Рассмотрим создание приватного registry, чтобы конкуренты не украли ваши контейнеры.
Теория: Как прикрутить к репозиторию авторизацию. Gitlab Registry (Container Registry tag expiration policy), Harbor. Очистка ненужных образов.
Практика: поднимаем свой репозиторий и пушим в него контейнер. Создаем токены Gitlab.
Зачем: DockerHub – это «чертова помойка», не надо пользоваться образами оттуда без необходимости. Поймем, какие угрозы есть при использовании Docker и как их избегать.
Теория: Основные угрозы при запуске приложения в контейнере: запуск от рута, излишние привилегии, уязвимости в Docker, неполноценность изоляции контейнеров, инструменты анализа безопасности контейнеров.
Практика: устраняем грубые уязвимости в контейнере с демонстрационным приложением ИЛИ используем уязвимость, чтобы сделать что-то, чего мы делать не должны.
Зачем: Работа на виртуалке с Docker. Есть ли эта услуга as a service? Есть ли какие-то особенности?
Зачем: Это теоретический раздел о том, как работает Docker в сложных инфраструктурах.
Теория: Рассказываем, что такое оркестрация и зачем она нужна на примере K8s и swarm. K8s as a service.
Практика: Демонстрация того, как из локальных манифестов запустить приложение в миникубе.
Зачем: Docker — не единственный инструмент контейнеризации на рынке. Посмотрим на альтернативы, поймём, зачем они вообще нужны и какие проблемы решают.
Теория: Наиболее популярные аналоги Docker, как они работают и зачем нужны. Примеры запуска приложений в этих аналогах.
Практика: Вместе со спикером поднимаем приложение на Podman и Kata.
VK объявляет о приобретении 40% компании Intickets.ru (Интикетс). Это облачный сервис для контроля и управления продажей билетов на мероприятия. Сумма…
OpenAI готовится запустить собственную поисковую систему на базе ChatGPT. Информацию об этом публикуют западные издания. Ожидается, что новый поисковик может…
Центр управления связью общего пользования (ЦМУ ССОП) Роскомнадзора рекомендовал компаниям из реестра провайдеров ограничить доступ поисковых ботов к информации на российских сайтах.…
Apple возобновила переговоры с OpenAI о возможности внедрения ИИ-технологий в iOS 18, на основе данной операционной системы будут работать новые…
Конкурсный управляющий российской «дочки» Google подготовил 23 иска к участникам рекламного рынка. Общая сумма исков составляет 16 млрд рублей –…
Google завершил обновление основного алгоритма March 2024 Core Update. Раскатка обновлений была завершена 19 апреля, но сообщил об этом поисковик…