Опубликовано

Новинка: Docker без секретов

Docker без секретов

Книга подробно рассказывает о развертывании и поддержке контейнерных приложений с использованием технологии Docker. Описан принцип работы образов, контейнеров и связанных с ними хранилищ Docker Storage, рассмотрена система контейнеризации Docker Swarm, показаны принципы сетевого взаимодействия Container Network Model. Раскрыты вопросы использования плагинов в сервисах Docker, рассмотрено развертывание служб в Swarm. Отдельная глава посвящена обеспечению безопасности в экосистеме Docker, масштабированию и поддержке контейнерных приложений.

Для разработчиков ПО и системных архитекторов

Создавайте надежные и безопасные приложения с использованием технологии Docker

В книге описаны:

  • Основы работы с контейнерами и экосистемой Docker
  • Использование образов Docker
  • Работа с хранилищами Docker Storage
  • Использование плагинов в сервисах Docker
  • Развертывание служб в Swarm
  • Cетевые возможности Docker
  • Безопасность приложений в экосистеме Docker
  • Масштабирование и поддержка контейнерных приложений

Книга знакомит читателя с технологией контейнеризации и рассказывает о том, чем контейнеры отличаются от виртуальных машин и почему они являются предпочтительным инструментом для разработки приложений. Вы изучите принцип работы образов, контейнеров и связанных с ними хранилищ, познакомитесь с механизмом оркестрации Docker Swarm, освоите принципы сетевого взаимодействия Container Network Model. Узнаете, как защитить свои приложения с использованием встроенных возможностей Docker.

Книгу “Docker без секретов” можно купить со скидкой в интернет-магазине издательства “БХВ“.

Об авторе……………………………………………………………………………………………….. 11

Благодарности……………………………………………………………………………………….. 13

Предисловие…………………………………………………………………………………………… 15

Глава 1. Контейнеризация и Docker……………………………………………………….. 17

Введение……………………………………………………………………………………………………………………………………… 17

Жизнь до контейнеризации……………………………………………………………………………………………………….. 18

Концепция контейнеризации…………………………………………………………………………………………………….. 18

Преимущества контейнеризации……………………………………………………………………………………………… 19

Docker………………………………………………………………………………………………………………………………………….. 21

Docker Engine……………………………………………………………………………………………………………………………… 21

Компоненты Docker Engine……………………………………………………………………………………………….. 22

Docker Hub и Docker Registry…………………………………………………………………………………………………….. 23

Контейнеры Linux и Windows…………………………………………………………………………………………………… 24

Контейнеры и Windows……………………………………………………………………………………………………… 24

Микросервисы и контейнеризация…………………………………………………………………………………………… 24

Безопасность в Docker……………………………………………………………………………………………………………….. 25

Заключение………………………………………………………………………………………………………………………………… 27

Основные тезисы………………………………………………………………………………………………………………………… 27

Контрольный тест……………………………………………………………………………………………………………………… 28

Ответы…………………………………………………………………………………………………………………………………. 28

Вопросы……………………………………………………………………………………………………………………………………… 29

Ключевые термины……………………………………………………………………………………………………………………. 29

Глава 2. Контейнеры и образы………………………………………………………………. 31

Контейнеры: общая характеристика……………………………………………………………………………………….. 31

Запуск контейнера…………………………………………………………………………………………………………………….. 32

Состояния контейнеров Docker………………………………………………………………………………………………… 34

Процессы внутри контейнера…………………………………………………………………………………………………… 36

Исследование контейнера и получение информации…………………………………………………………….. 38

Журналы контейнеров………………………………………………………………………………………………………………. 39

Базовая архитектура контейнера…………………………………………………………………………………………….. 43

Образы: общая характеристика……………………………………………………………………………………………….. 44

Образы: детальное изучение…………………………………………………………………………………………………….. 45

Копирование при записи…………………………………………………………………………………………………… 47

Где хранятся образы?………………………………………………………………………………………………………… 48

Исследование образа и получение информации…………………………………………………………….. 49

Сохранение образа……………………………………………………………………………………………………………. 49

Сохранение образа с помощью команды COMMIT……………………………………………………….. 50

Dockerfile…………………………………………………………………………………………………………………………………….. 52

Кеш сборки…………………………………………………………………………………………………………………………………. 53

Многоступенчатые сборки……………………………………………………………………………………………………….. 54

Заключение………………………………………………………………………………………………………………………………… 59

Основные тезисы………………………………………………………………………………………………………………………… 59

Контрольный тест……………………………………………………………………………………………………………………… 60

Ответы…………………………………………………………………………………………………………………………………. 62

Вопросы……………………………………………………………………………………………………………………………………… 62

Ключевые термины……………………………………………………………………………………………………………………. 62

Глава 3. Драйверы хранилища и тома……………………………………………………. 63

Драйверы хранилища Docker…………………………………………………………………………………………………… 63

Поддерживаемые драйверы хранилища………………………………………………………………………….. 64

Поддержка backing filesystem……………………………………………………………………………………………………. 64

Драйверы хранилища overlay и overlay2………………………………………………………………………………… 65

Характеристика и принцип работы драйвера хранилища overlay2……………………………… 66

Тома Docker………………………………………………………………………………………………………………………………… 68

Заключение………………………………………………………………………………………………………………………………… 76

Основные тезисы………………………………………………………………………………………………………………………… 76

Контрольный тест……………………………………………………………………………………………………………………… 77

Ответы…………………………………………………………………………………………………………………………………. 78

Вопросы……………………………………………………………………………………………………………………………………… 79

Ключевые термины……………………………………………………………………………………………………………………. 79

Глава 4. Модель Container Network и сетевой мост Docker………………………. 81

Модель Container Network………………………………………………………………………………………………………… 81

Интерфейcы драйвера CNM……………………………………………………………………………………………………… 82

Libnetwork…………………………………………………………………………………………………………………………………… 83

Драйверы Docker……………………………………………………………………………………………………………………….. 83

Сетевой мост Docker………………………………………………………………………………………………………………….. 84

Концепция пространства имен Linux……………………………………………………………………………….. 84

Мост Docker………………………………………………………………………………………………………………………… 89

Заключение………………………………………………………………………………………………………………………………… 90

Основные тезисы………………………………………………………………………………………………………………………… 90

Контрольный тест……………………………………………………………………………………………………………………… 90

Ответы…………………………………………………………………………………………………………………………………. 91

Вопросы……………………………………………………………………………………………………………………………………… 91

Ключевые термины……………………………………………………………………………………………………………………. 92

Глава 5. Docker Swarm…………………………………………………………………………… 93

Введение……………………………………………………………………………………………………………………………………… 93

Что такое Docker Swarm……………………………………………………………………………………………………………. 93

Преимущества Docker Swarm……………………………………………………………………………………………………. 94

Создание и настройка кластера Swarm…………………………………………………………………………………… 95

Консенсус в Docker Swarm………………………………………………………………………………………………… 98

Концепция сервиса в Swarm……………………………………………………………………………………………………… 99

Создание реплик………………………………………………………………………………………………………………. 100

Масштабирование сервиса…………………………………………………………………………………………….. 101

Реплицированные и глобальные сервисы……………………………………………………………………… 103

Очистка кластера Swarm………………………………………………………………………………………………………… 104

Блокировка и разблокировка кластера Swarm……………………………………………………………………… 106

Сети в Docker Swarm……………………………………………………………………………………………………………….. 109

Создание сервиса с опубликованным портом………………………………………………………………. 113

Обход маршрутизирующей mesh-сети в Swarm…………………………………………………………….. 114

Шифрование трафика в оверлейной сети………………………………………………………………………. 115

Устранение неполадок в Docker Swarm…………………………………………………………………………………. 115

Заключение………………………………………………………………………………………………………………………………. 115

Основные тезисы……………………………………………………………………………………………………………………… 116

Контрольный тест……………………………………………………………………………………………………………………. 116

Ответы……………………………………………………………………………………………………………………………….. 117

Вопросы……………………………………………………………………………………………………………………………………. 118

Ключевые термины………………………………………………………………………………………………………………….. 118

Глава 6. Сети Docker……………………………………………………………………………. 119

Введение…………………………………………………………………………………………………………………………………… 119

Сети в Docker……………………………………………………………………………………………………………………………. 119

Сеть Bridge………………………………………………………………………………………………………………………………… 120

Сеть Host…………………………………………………………………………………………………………………………………… 126

Сеть None………………………………………………………………………………………………………………………………….. 126

Использование пространства имен существующего контейнера……………………………………….. 127

Сопоставление портов…………………………………………………………………………………………………………….. 128

Сеть MACVLAN……………………………………………………………………………………………………………………….. 130

MACVLAN в режиме bridge…………………………………………………………………………………………….. 131

MACVLAN в режиме Trunk Bridge 802.1Q…………………………………………………………………….. 136

Сеть Overlay……………………………………………………………………………………………………………………………… 138

Основные тезисы……………………………………………………………………………………………………………………… 153

Контрольный тест……………………………………………………………………………………………………………………. 153

Ответы……………………………………………………………………………………………………………………………….. 155

Вопросы……………………………………………………………………………………………………………………………………. 155

Ключевые термины………………………………………………………………………………………………………………….. 156

Глава 7. Безопасность в Docker. Часть 1………………………………………………. 157

Введение…………………………………………………………………………………………………………………………………… 157

Пространства имен ядра…………………………………………………………………………………………………………. 157

Контрольные группы………………………………………………………………………………………………………………. 163

Память……………………………………………………………………………………………………………………………….. 164

Центральный процессор………………………………………………………………………………………………….. 166

Capabilities……………………………………………………………………………………………………………………………….. 167

Обязательный контроль доступа……………………………………………………………………………………………. 170

Docker и AppArmor……………………………………………………………………………………………………………. 176

Docker и SELinux………………………………………………………………………………………………………………. 181

Seccomp…………………………………………………………………………………………………………………………………….. 185

Заключение………………………………………………………………………………………………………………………………. 186

Основные тезисы……………………………………………………………………………………………………………………… 186

Контрольный тест……………………………………………………………………………………………………………………. 187

Ответы……………………………………………………………………………………………………………………………….. 188

Вопросы……………………………………………………………………………………………………………………………………. 188

Ключевые термины………………………………………………………………………………………………………………….. 189

Глава 8. Безопасность в Docker. Часть 2………………………………………………. 191

Введение…………………………………………………………………………………………………………………………………… 191

Docker Enterprise Edition………………………………………………………………………………………………………….. 191

Установка Docker Enterprise Edition……………………………………………………………………………………….. 192

Установка Universal Control Plane…………………………………………………………………………………… 196

Установка Docker Trusted Registry………………………………………………………………………………….. 199

Загрузка и установка клиентского пакета…………………………………………………………………….. 200

Функции безопасности Docker Enterprise Edition………………………………………………………………….. 203

Управление доступом на основе ролей…………………………………………………………………………………. 208

Заключение………………………………………………………………………………………………………………………………. 215

Основные тезисы……………………………………………………………………………………………………………………… 215

Контрольный тест……………………………………………………………………………………………………………………. 216

Ответы……………………………………………………………………………………………………………………………….. 218

Вопросы……………………………………………………………………………………………………………………………………. 218

Ключевые термины………………………………………………………………………………………………………………….. 218

Предметный указатель…………………………………………………………………………. 219

 

 

Сайбал Гош — главный программный архитектор в компании Ericsson India Ltd с более чем двадцатилетним опытом в сфере IT-инфраструктуры и безопасности, консалтинга и разработки ПО. За свою карьеру он успел примерить на себя разные роли, включая администратора баз данных, технического консультанта, технического писателя, разработчика приложений и преподавателя.