Facebook Pixel
Searching...
Русский
EnglishEnglish
EspañolSpanish
简体中文Chinese
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
Docker

Docker

Up & Running: Shipping Reliable Containers in Production
автор Karl Matthias 2015 230 страниц
3.77
100+ оценки
Слушать

ключевых вывода

1. Docker революционизирует развертывание и масштабирование приложений

Docker находится в центре некоторых из самых значимых технологий последнего десятилетия.

Упрощенное развертывание. Docker позволяет разработчикам упаковывать приложения со всеми их зависимостями в стандартизированные единицы, называемые контейнерами. Этот подход значительно упрощает процесс развертывания, обеспечивая согласованность в различных средах.

Улучшенная масштабируемость. Абстрагируя основную инфраструктуру, Docker позволяет легко масштабировать приложения по горизонтали. Контейнеры могут быстро запускаться или останавливаться в зависимости от спроса, что позволяет более эффективно использовать ресурсы.

Поддержка DevOps. Docker устраняет разрыв между командами разработки и эксплуатации, предоставляя общий язык и набор инструментов. Это способствует лучшему сотрудничеству и более плавным рабочим процессам на протяжении всего жизненного цикла приложения.

2. Контейнеры предлагают легковесную, портативную и эффективную виртуализацию

Контейнеры представляют собой принципиально иной подход, при котором все контейнеры используют одно ядро, а изоляция реализуется полностью в рамках этого ядра.

Эффективность использования ресурсов. Контейнеры используют ядро хост-системы, что делает их значительно легче традиционных виртуальных машин. Это позволяет размещать больше приложений на одном хосте и обеспечивает более быстрое время запуска.

Портативность. Контейнеры Docker инкапсулируют приложение и его зависимости, обеспечивая согласованное поведение в различных средах. Этот подход "создай один раз, запускай везде" упрощает рабочие процессы разработки и развертывания.

Изоляция. Хотя контейнеры не обеспечивают такой же уровень изоляции, как виртуальные машины, они предлагают достаточную степень разделения для большинства случаев использования. Они используют функции ядра Linux, такие как пространства имен и cgroups, для создания изолированных сред для приложений.

3. Архитектура Docker: клиент, сервер и реестр

Docker состоит как минимум из двух частей: клиента и сервера/демона. Опционально существует третий компонент, называемый реестром, который хранит образы Docker и метаданные об этих образах.

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

Реестр Docker. Реестр — это централизованное хранилище для хранения и распространения образов Docker. Docker Hub — это публичный реестр, поддерживаемый Docker, но организации также могут создавать частные реестры.

Взаимодействие компонентов:

  • Клиент Docker: Отправляет команды демону Docker
  • Демон Docker: Управляет объектами Docker (образами, контейнерами, сетями, томами)
  • Реестр Docker: Хранит образы Docker

4. Создание и управление образами и контейнерами Docker

Контейнеры обычно проектируются как одноразовые, но стандартное тестирование не всегда достаточно для предотвращения всех проблем, и вам могут понадобиться инструменты для отладки работающих контейнеров.

Создание образов. Образы Docker создаются с использованием Dockerfile, который содержит серию инструкций для создания образа. Каждая инструкция создает новый слой, что позволяет эффективно хранить и передавать образы.

Жизненный цикл контейнера:

  • Создание: docker create
  • Запуск: docker start
  • Выполнение: docker run (объединяет создание и запуск)
  • Остановка: docker stop
  • Удаление: docker rm

Инструменты отладки:

  • docker logs: Просмотр журналов контейнера
  • docker exec: Выполнение команд внутри работающего контейнера
  • docker inspect: Получение детальной информации об объектах Docker

5. Сетевые и хранилищные решения в средах Docker

Docker выделяет частную подсеть из неиспользуемого блока частных подсетей RFC 1918. Он определяет, какие сетевые блоки не используются при запуске, и выделяет один для виртуальной сети.

Модели сетей:

  • Bridge: Сетевой драйвер по умолчанию, создающий частную сеть для контейнеров
  • Host: Убирает сетевую изоляцию, используя сеть хоста напрямую
  • Overlay: Позволяет контейнерам общаться между несколькими хостами Docker
  • Macvlan: Назначает MAC-адрес контейнеру, делая его видимым как физическое устройство в сети

Варианты хранения:

  • Том: Предпочтительный механизм для постоянных данных, управляемый Docker
  • Привязка монтирования: Отображение файла или каталога хоста в контейнер
  • tmpfs монтирование: Временное хранение данных в памяти хоста

6. Отладка и мониторинг контейнеров Docker

Иногда вам действительно нужно просто остановить наш контейнер, как описано выше. Но есть случаи, когда мы не хотим, чтобы наш контейнер что-либо делал какое-то время.

Методы отладки:

  • docker logs: Просмотр вывода контейнера
  • docker exec: Выполнение команд внутри работающего контейнера
  • docker inspect: Получение детальной информации о контейнерах
  • docker stats: Мониторинг использования ресурсов контейнера в реальном времени

Инструменты мониторинга:

  • cAdvisor: Предоставляет данные об использовании ресурсов и производительности
  • Prometheus: Сбор и хранение метрик из контейнеров
  • Grafana: Визуализация метрик контейнеров и создание дашбордов

7. Масштабирование Docker с помощью инструментов оркестрации

Вероятно, первым общедоступным инструментом в этой области является Fleet от CoreOS, который работает с systemd на хостах, чтобы действовать как распределенная система инициализации.

Платформы оркестрации:

  • Docker Swarm: Родное кластеризование для Docker
  • Kubernetes: Открытая платформа оркестрации контейнеров
  • Apache Mesos: Ядро распределенных систем, которое может запускать контейнеры Docker

Ключевые функции:

  • Обнаружение сервисов
  • Балансировка нагрузки
  • Масштабирование
  • Пошаговые обновления
  • Самовосстановление

8. Соображения безопасности для развертываний Docker

Поскольку это демон, который работает с привилегиями и имеет прямой контроль над вашими приложениями, вероятно, не стоит открывать Docker напрямую в Интернете.

Лучшие практики безопасности:

  • Запуск контейнеров от имени пользователей без прав root
  • Использование минимальных базовых образов для уменьшения поверхности атаки
  • Реализация сегментации сети
  • Регулярное обновление и исправление Docker и образов контейнеров
  • Использование Docker Content Trust для подписания и проверки образов

Инструменты безопасности:

  • AppArmor/SELinux: Системы обязательного контроля доступа
  • Docker Bench Security: Автоматизированный инструмент оценки безопасности
  • Clair: Открытый сканер уязвимостей для контейнеров

9. Проектирование платформы Docker, готовой к производству

Если вместо простого развертывания Docker в вашей среде вы потратите время на создание хорошо спроектированной платформы контейнеров на основе Docker, вы сможете насладиться многими преимуществами рабочего процесса на основе Docker, защищая себя от некоторых острых углов, которые обычно существуют в таких высокоскоростных проектах.

Ключевые соображения:

  • Высокая доступность и отказоустойчивость
  • Масштабируемость и производительность
  • Мониторинг и ведение журналов
  • Резервное копирование и восстановление после сбоев
  • Непрерывная интеграция и развертывание (CI/CD)

Лучшие практики:

  • Использование инструментов оркестрации для управления крупномасштабными развертываниями
  • Реализация надлежащих решений для ведения журналов и мониторинга
  • Разработка надежного конвейера CI/CD для сборки и развертывания контейнеров
  • Регулярное тестирование и обновление вашей инфраструктуры Docker

10. Методология Twelve-Factor App для контейнеризированных приложений

Хотя это и не обязательно, приложения, построенные с учетом этих 12 шагов, являются идеальными кандидатами для рабочего процесса Docker.

Ключевые принципы:

  1. Кодовая база: Одна кодовая база, отслеживаемая в системе управления версиями, множество развертываний
  2. Зависимости: Явное объявление и изоляция зависимостей
  3. Конфигурация: Хранение конфигурации в окружении
  4. Вспомогательные сервисы: Обращение с вспомогательными сервисами как с подключенными ресурсами
  5. Сборка, выпуск, запуск: Строгое разделение этапов сборки и запуска
  6. Процессы: Выполнение приложения как одного или нескольких статeless процессов
  7. Привязка портов: Экспорт сервисов через привязку портов
  8. Конкуренция: Масштабирование через модель процессов
  9. Одноразовость: Максимальная надежность с быстрым запуском и плавным завершением
  10. Паритет dev/prod: Поддержание максимального сходства между разработкой, тестированием и производством
  11. Логи: Обращение с логами как с потоками событий
  12. Административные процессы: Выполнение административных/управляющих задач как одноразовых процессов

Преимущества для приложений Docker:

  • Улучшенная масштабируемость и поддерживаемость
  • Упрощенное развертывание и эксплуатация
  • Лучшая согласованность с облачными архитектурами

Последнее обновление:

Отзывы

3.77 из 5
Средняя оценка на основе 100+ оценки с Goodreads и Amazon.

Docker: Быстрый старт получает смешанные отзывы, со средней оценкой 3.77 из 5. Читатели ценят его за ясные объяснения основ Docker и продвинутых тем, особенно в области безопасности и отладки. Многие считают его хорошим введением для новичков, хотя некоторые критикуют за устаревшее содержание и недостаточное освещение более широкой экосистемы Docker. Книга хвалится за лаконичное изложение и практические примеры, но критикуется за отсутствие тем, таких как Docker Compose. Некоторые читатели считают её слишком простой, в то время как другие находят её ценным ресурсом для понимания основных концепций Docker.

Об авторе

Карл Маттиас — опытный автор и эксперт в области технологий, известный своей работой над Docker и связанными технологиями. Хотя конкретная биографическая информация в предоставленном содержании отсутствует, его книга "Docker: Up and Running" свидетельствует о его обширных знаниях в области контейнеризации, DevOps и облачных вычислений. Стиль письма Маттиаса описывается как ясный и лаконичный, с акцентом на практические примеры и реальные приложения. Его способность объяснять сложные технические концепции в доступной форме ценится читателями, особенно теми, кто только начинает знакомиться с Docker. Экспертиза Маттиаса в области безопасности Docker и продвинутых тем указывает на глубокое понимание технологии и ее экосистемы.

0:00
-0:00
1x
Dan
Andrew
Michelle
Lauren
Select Speed
1.0×
+
200 words per minute
Create a free account to unlock:
Requests: Request new book summaries
Bookmarks: Save your favorite books
History: Revisit books later
Ratings: Rate books & see your ratings
Unlock Unlimited Listening
🎧 Listen while you drive, walk, run errands, or do other activities
2.8x more books Listening Reading
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 4: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on Jan 25,
cancel anytime before.
Compare Features Free Pro
Read full text summaries
Summaries are free to read for everyone
Listen to summaries
12,000+ hours of audio
Unlimited Bookmarks
Free users are limited to 10
Unlimited History
Free users are limited to 10
What our users say
30,000+ readers
"...I can 10x the number of books I can read..."
"...exceptionally accurate, engaging, and beautifully presented..."
"...better than any amazon review when I'm making a book-buying decision..."
Save 62%
Yearly
$119.88 $44.99/year
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.
Settings
Appearance
Black Friday Sale 🎉
$20 off Lifetime Access
$79.99 $59.99
Upgrade Now →