+38(098)684-06-31

Docker для администраторов и DevOps

Ближайшие даты:

21-25Января

Дневные курсы

10:00-18:00

Количество мест:

10 мест

Стоимость курса:

25000 грн.

Длительность курса:

5 дней

40 часов

Программа курса

Описание

Программа

Курс познакомит с экосистемой контейнеров на основе Docker. Мы разберемся в отличиях контейнеров от виртуальных машин, рассмотрим основные компоненты Docker, на практике применим концепцию «инфраструктура как код», научимся запускать приложения в Docker контейнерах и разрабатывать с использованием Docker. Научимся взаимодействовать с другими компонентами проекта при разработке в Docker. Также поговорим о типовых задачах эксплуатации: работа с сетями, управление конфигурацией.

Модуль 1  Что такое контейнеры и для чего они нужны

  • Сравнение контейнеров с виртуальными машинами
  • Docker и контейнеры
  • Краткая история Docker
  • Дополнительные модули и надстройки
  • 64-битовая версия ОС Linux

Модуль 2  Установка

  • Установка Docker в ОС Linux
  • Запуск SELinux в разрешающем режиме
  • Запуск Docker без sudo
  • Установка Docker в Mac OS или в ОС Windows
  • Оперативная проверка

Модуль 3 Первые шаги

  • Запуск первого образа
  • Основные команды
  • Создание образов из файлов Dockerfile
  • Работа с реестрами
  • Закрытые частные репозитории
  • Использование официального образа Redis

Модуль 4  Основы Docker

  • Архитектура Docker
  • Базовые технологии
  • Сопровождающие технологии
  • Хостинг для Docker
  • Как создаются образы
  • Контекст создания образа
  • Уровни образа
  • Кэширование
  • Базовые образы
  • Инструкции Dockerfile
  • Установление связи контейнеров с внешним миром
  • Соединение между контейнерами
  • Управление данными с помощью томов и контейнеров данных
  • Совместное использование данных
  • Контейнеры данных
  • Часто используемые команды Docker
  • Команда run
  • Управление контейнерами
  • Информация о механизме Docker
  • Информация о контейнере
  • Работа с образами
  • Команды для работы с реестром

Модуль 5  Использование Docker в процессе разработки

  • Традиционное приветствие миру
  • Автоматизация с использованием Compose
  • Порядок работы Compose

Модуль 6  Создание простого веб-приложения

  • Создание основной веб-страницы
  • Использование преимуществ существующих изображений
  • Дополнительное кэширование
  • Микросервисы

Модуль 7  Распространение образов

  • Docker Hub
  • Автоматические сборки
  • Распространение с ограничением доступа
  • Организация собственного реестра
  • Коммерческие реестры
  • Сокращение размера образа

Модуль 8 Непрерывная интеграция и тестирование

  • Включение модульных тестов в identidock
  • Создание контейнера для сервера Jenkins
  • Создание образа по триггеру
  • Выгрузка образа в реестр
  • Присваивание осмысленных тэгов
  • Конечные процедуры подготовки и эксплуатация
  • Беспорядочный рост количества образов
  • Использование Docker для поддержки вспомогательных серверов Jenkins
  • Организация резервного копирования для сервера Jenkins
  • Хостинговые решения для непрерывной интеграции
  • Тестирование и микросервисы
  • Тестирование в процессе эксплуатации

Модуль 9  Развертывание контейнеров

  • Предоставление ресурсов с помощью Docker Machine
  • Использование прокси-сервера
  • Варианты выполнения
  • Скрипты командной оболочки
  • Использование диспетчера процессов или systemd для глобального управления
  • Использование инструментальных средств управления конфигурацией
  • Конфигурация хоста
  • Выбор операционной системы
  • Выбор драйвера файловой системы
  • Специализированные варианты хостинга
  • Triton
  • Google Container Engine
  • Amazon EC2 Container Service
  • Giant Swarm
  • Контейнеры для постоянно хранимых данных и для промышленной эксплуатации
  • Совместное использование закрытых данных
  • Сохранение закрытых данных в образе
  • Передача закрытых данных в переменных среды
  • Передача закрытых данных в томах
  • Использование хранилища типа «ключ-значение»
  • Сетевая среда
  • Реестр для промышленной эксплуатации
  • Непрерывное развертывание/доставка

Модуль 10  Ведение журналов событий и контроль

  • Ведение журналов событий
  • Принятая по умолчанию подсистема ведения журналов событий в Docker
  • Объединение журналов
  • Ведение журналов с использованием ELK
  • Ведение журналов Docker с использованием syslog
  • Извлечение журнальных записей из файла
  • Контроль и система оповещения
  • Контроль с помощью Docker Tools
  • cAdvisor
  • Кластерные решения
  • Коммерческие решения, обеспечивающие контроль и ведение журналов

Глава 11 Сетевая среда и обнаружение сервисов

  • Посредники
  • Обнаружение сервисов
  • etcd
  • SkyDNS
  • Consul
  • Регистрация
  • Другие решения
  • Варианты организации сетевой среды
  • Режим bridge
  • Режим host
  • Режим container
  • Режим none
  • Новая сетевая среда Docker
  • Типы сетей и подключаемые модули
  • Комплексные сетевые решения
  • Overlay
  • Weave
  • Flannel
  • Project Calico

Модуль 12 Оркестрация, кластеризация и управление

  • Инструментальные средства кластеризации и оркестрации
  • Swarm
  • Fleet
  • Kubernetes
  • Mesos и Marathon
  • Платформы управления контейнерами
  • Rancher
  • Clocker
  • Tutum

Модуль 13 Обеспечение безопасности контейнеров

  • На что следует обратить особое внимание
  • Глубокая защита
  • Принцип минимальных привилегий
  • Обеспечение безопасности identidock
  • Разделение контейнеров по хостам
  • Обновления
  • Не используйте неподдерживаемых драйверов
  • Подтверждение происхождения образов
  • Дайджесты Docker
  • Механизм подтверждения контента в Docker
  • Повторно воспроизводимые и надежные файлы Dockerfile
  • Обеспечение безопасной загрузки ПО в файлах Dockerfile
  • Рекомендации по обеспечению безопасности
  • Всегда определяйте пользователя
  • Ограничения сетевой среды контейнеров
  • Удаляйте бинарные файлы с установленными битами setuid/setgid
  • Ограничение использования оперативной памяти
  • Ограничение загрузки процессора
  • Ограничение возможности перезапуска
  • Ограничения файловых систем
  • Ограничение использования механизма Сapabilities
  • Ограничение ресурсов (ulimits)
  • Использование защищенного ядра
  • Модули безопасности Linux
  • SELinux
  • AppArmor
  • Проведение контрольных проверок
  • Реакция на нестандартные ситуации
  • Функциональные возможности будущих версий