
Книга подробно рассказывает о развертывании и поддержке контейнерных приложений с использованием технологии 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-инфраструктуры и безопасности, консалтинга и разработки ПО. За свою карьеру он успел примерить на себя разные роли, включая администратора баз данных, технического консультанта, технического писателя, разработчика приложений и преподавателя.
-
НОВИНКА
Docker без секретов
750 ₽
637 ₽