Доступно

Docker для разработчиков [Слёрм] [Виктор Попов, Александр Швалов, Марсель Ибраев]

Тема в разделе "Курсы по администрированию", создана пользователем Топикстартер, 26 янв 2021.

Цена: 15 000р-93%
Взнос: 934р
100%

Основной список: 36 участников

Резервный список: 8 участников

Статус обсуждения:
Комментирование ограничено.
  1. 26 янв 2021
    #1
    Топикстартер
    Топикстартер Член клуба
    Docker для разработчиков [Слёрм] [Slurm] - 2022

    upload_2022-8-3_20-44-22.png

    Освой инструмент, которым пользуются 77% разработчиков


    Кому подойдёт курс
    Junior-разработчики
    Junior DevOps инженеры
    Системные администраторы

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

    Руководители разработки
    Сэкономите время и силы на обучение новичков. В рамках курса сделаем из Junior-разработчиков специалистов по Docker, которые смогут полноценно использовать инструмент в своей работе


    Спикеры
    Виктор Попов

    DevOps в НЛМК IT
    — Выстраивает DevOps процессы уже 6 лет. Начал еще когда не знал, что такое DevOps.
    — Поддерживает и развивает k8s кластера as-a-service для 20+ продуктовых команд

    Александр Швалов
    Старший системный инженер, Wrike, ex-Слёрм, ex-Southbridge
    — Инженер с 8-летним опытом, Certified Kubernetes Administrator. Автор и преподаватель курсов Слёрма

    Марсель Ибраев
    CTO Слёрм
    — Инженер с 8-летним стажем
    — Certified Kubernetes Administrator
    — Внедрения Кубернетес для клиентов Southbridge
    — Разработчик курсов и спикер Слёрм

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

    upload_2021-1-26_19-58-44.png

    №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, Registry и их взаимодействие.

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


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

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

    Практика: Скачиваем готовый контейнер с DockerHub запускаем в нем сайт.
    №4: Работа со stateful-данными в Docker


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

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

    Практика: Создаем контейнер с базой данных из DockerHub.
    №5: Docker-compose файл


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

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

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


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

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

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


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

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

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


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


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

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


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

    Теория: Namespaces, Cgroups (как это все ограничивается), Capabilities, limits/requests и т.д.

    Практика: Покажем, как запустить "контейнер" без Docker (runc). Спикер показывает на одном примере runc, а студенты делают на в containerd.
    №10: Логирование и мониторинг Docker контейнеров


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

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

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


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

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

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

    Скрытая ссылка
     

    Вложения:

    Последнее редактирование модератором: 25 ноя 2022
    1 человеку нравится это.
  2. Последние события

    1. skladchik.com
      Складчина доступна.
      16 июл 2026
    2. skladchik.com
      Кладовщик хранитель складчины.
      16 июл 2026
    3. skladchik.com
      Складчина закрыта.
      16 июл 2026
    4. skladchik.com
      Складчина доступна.
      3 авг 2022

    Последние важные события

    1. skladchik.com
      Складчина доступна.
      16 июл 2026
    2. skladchik.com
      Кладовщик хранитель складчины.
      16 июл 2026
    3. skladchik.com
      Складчина закрыта.
      16 июл 2026
    4. skladchik.com
      Складчина доступна.
      3 авг 2022
  3. Обсуждение
  4. 2 авг 2022
    #2
    Microfon
    Microfon Организатор (А)
    Повтор по появлению организатора определяется
     
    1 человеку нравится это.
  5. 2 авг 2022
    #3
    Организатор
    Организатор Организатор
    Я не видел ту складчину вообще, зачем вы создали повтор и почему модераторов не уведомили?
     
  6. 2 авг 2022
    #4
    Microfon
    Microfon Организатор (А)
    Тему создана на актуальный материал по актуальному продажнику.
     
  7. 2 авг 2022
    #5
    Javaist
    Javaist Член клуба
    Тогда проще.
     
  8. 2 авг 2022
    #6
    Организатор
    Организатор Организатор
    Так в этой складчине и в вашей одинаковый продажник
     
Статус обсуждения:
Комментирование ограничено.