SlideShare a Scribd company logo
1
Андрей Маркелов
amarkelov@inventa.ru
Введение в Docker
23.04.2015
2
Контейнеры и виртуализация
● Разные концепции
● Виртуализация – вертикальное абстрагирование
● Контейнеры – горизонтальное разбиение
● Контейнеры используются для замены виртуализации там, где они справляются
лучше:
● Горизонтальная изоляция приложений
● Делегирование окружений
● “Виртуализация приложений”
● Максимальная плотность
● Зачастую контейнеры используются поверх виртуализации
3
Контейнеры в GNU/Linux
4
Namespaces (пространства имен)
● Mount namespaces
● mount(), umount()
● UTS namespaces
● uname()
● IPC namespaces
● System V IPC objects, POSIX message queues
● PID namespaces
● /proc, PID
● Network namespaces
● NICs, firewall, routing table
5
Control Groups (CGroups)
● Десять групп
● Основные группы:
● cpu
● memory
● blkio
● systemctl
● net-prio
● cgconfig (устарела) libcgroup будет удалена
6
SELinux – реализация MAC для GNU/Linux
● Интегрирована в ядро
● LSM и расширенные атрибуты
● Для чего использовать:
● Запуск программ с минимальными привилегиями
● Защита от эксплоитов
● Защита пользовательских данных
● Для чего не предназначена:
● Аудит кода
● Шифрование
● Обновления
7
Docker – изменяет правила игры
● Docker CLI интересен, но это не столь значительное
нововведение. Технологии, позволяющие создавать
контейнеры в GNU/Linux > 10 лет
● Docker как формат упаковки и распространения приложений
– вот что важно!
8
Docker - понятия
● Контейнер – запущенное из образа приложение
● Образ – статический снимок конфигурации контейнера.
Образы могут зависить от других образов. Образ всегда r/o.
Изменения сохраняются только созданием образа поверх
образа.
● Образ платформы – не имеющий родительских образов.
Содержит базовые библиотеки и утилиты для запуска
приложений.
9
Docker – упаковка приложений
● API и формат образов:
● Перемещаемость контейнеров между хостами
● Контроль версий и переиспользование компонентов
● Удаленный репозиторий для образов
● Dockerfile – шаблон конфигурации для сборки образов
10
Контейнеры в Linux Вариант 1: Host Containers
Host Containers
Идентичные
контейнеры
Host
Linux
● В Linux хост делится на
защищенные контейнеры
● В каждом контейнере
запускается один код
пространства пользователя
● За : Обновления применяются
просто
● Против : Ограничено только
Одной средой исполнения
11
Контейнеры в Linux Вариант 2:
Image-based Containers
Image-based
Containers
Разные контейнеры
Формат Docker
● Docker предоставляет формат
образов для распространения
программного обеспечения.
● Пакеты самого приложения и
все зависимости для внедрения
приложения в контейнерах
● Docker включает в себя среду
исполнения для приложений
12
Возможные ограничения Docker
● Возможно не достаточно зрело для mission-
critical
● Возможно не достаточно безопасно
● Достаточно быстро меняется
● Приложение – один процесс
13
Примеры реализаций
● Операционная система
● Linux общего назначения
● CoreOS
● Atomic
● VMware Photon
● Управление
● Cockpit
● Kubernetes
● IaaS – что угодно (OpenStack, AWS.. Google.)
14
Примеры использования
● Основа PaaS
● Основа DevOps
15
Спасибо за внимание!

More Related Content

ODP
Docker : что это, зачем, и как им пользоваться
PDF
Кратчайшее введение в docker по-русски
PDF
Docker - счастье для хомячка или ника?
PPTX
Что такое Docker
PDF
Docker for JS people
PPT
Docker - быстро, просто, наглядно
PDF
Docker. Основы
Docker : что это, зачем, и как им пользоваться
Кратчайшее введение в docker по-русски
Docker - счастье для хомячка или ника?
Что такое Docker
Docker for JS people
Docker - быстро, просто, наглядно
Docker. Основы

What's hot (20)

PDF
OpenStack и Docker: вместе и по отдельности
PDF
Docker контейнерная революция
PDF
Депрокрастинируем Docker: контейнеры здесь и сейчас
PDF
RHEL 7. Контейнеры и Docker
PDF
Михаил Боднарчук "Docker для PHP разработчиков"
PDF
TК°Conf. Микросервисы и Docker. Глеб Паньшин.
PDF
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
PDF
Тестовый стенд для большого числа проектов на Docker
PDF
Обзор Linux Control Groups
ODP
Teach your dockers to use CRanes
PDF
Пространства имен Linux (linux namespaces)
PDF
Docker с чем едят и для чего используют
PDF
Непрерывная интеграция Python-проектов в Яндексе
PDF
Как не стать рабом облака. PaaS 2.0 с Docker
PPTX
Процесс разработки и тестирования с Docker + gitlab ci
PDF
Ci на базе docker
PDF
[Demo-day] Slava Mogilevsky: "Cluster CI on Jenkins"
PDF
Локальное окружение на Docker
PDF
Развёртывание приложений Docker в контейнерах Virtuozzo -- Павел Тихомиров
PPTX
Docker for developers
OpenStack и Docker: вместе и по отдельности
Docker контейнерная революция
Депрокрастинируем Docker: контейнеры здесь и сейчас
RHEL 7. Контейнеры и Docker
Михаил Боднарчук "Docker для PHP разработчиков"
TК°Conf. Микросервисы и Docker. Глеб Паньшин.
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Тестовый стенд для большого числа проектов на Docker
Обзор Linux Control Groups
Teach your dockers to use CRanes
Пространства имен Linux (linux namespaces)
Docker с чем едят и для чего используют
Непрерывная интеграция Python-проектов в Яндексе
Как не стать рабом облака. PaaS 2.0 с Docker
Процесс разработки и тестирования с Docker + gitlab ci
Ci на базе docker
[Demo-day] Slava Mogilevsky: "Cluster CI on Jenkins"
Локальное окружение на Docker
Развёртывание приложений Docker в контейнерах Virtuozzo -- Павел Тихомиров
Docker for developers
Ad

Viewers also liked (18)

PDF
Openstack birhtday 2016 Ericsson OPNFV (Russian)
ODP
Red Hat Enterprise Virtualization. Технический обзор
ODP
Настройка производительности. Планировщик ввода/вывода
ODP
Что нового в управлении аутентификацией и авторизацией в RHEL 6.4
ODP
Средства обеспечения высокой доступности сервисов в RHEL
ODP
Обзор Red Hat Directory Server и RHEL IdM
PDF
Docker: from understanding to production
PPTX
Docker в виртуальной среде VMware
PDF
обзор Vagrant и docker
PDF
Окружение разработчика - от виртуализации к контейнеризации
PPTX
Ansible+docker (highload++2015)
PPTX
Docker&Azure
PDF
Haker0515-myjurnal.ru
PDF
Microservice architecture for Geo2Tag
PPTX
Использование Vagrant и docker при разработке в 1с
PPTX
Docker + Selenium Webdriver в рамках Continuous Integration
PDF
My talk on Docker from Moscow Django Meetup #25
PPT
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Openstack birhtday 2016 Ericsson OPNFV (Russian)
Red Hat Enterprise Virtualization. Технический обзор
Настройка производительности. Планировщик ввода/вывода
Что нового в управлении аутентификацией и авторизацией в RHEL 6.4
Средства обеспечения высокой доступности сервисов в RHEL
Обзор Red Hat Directory Server и RHEL IdM
Docker: from understanding to production
Docker в виртуальной среде VMware
обзор Vagrant и docker
Окружение разработчика - от виртуализации к контейнеризации
Ansible+docker (highload++2015)
Docker&Azure
Haker0515-myjurnal.ru
Microservice architecture for Geo2Tag
Использование Vagrant и docker при разработке в 1с
Docker + Selenium Webdriver в рамках Continuous Integration
My talk on Docker from Moscow Django Meetup #25
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Ad

Similar to Введение в Docker (20)

PPTX
PDF
obzor-tiekhnologhii-kontieinierov
PDF
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
PDF
OpenStack и Docker: вместе и по отдельности
PPTX
Введение в Docker
ODP
My talk on Docker, Youcon 2015
PPTX
Docker и оркетсрация контейнеров в облаке Azure
PPTX
Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»
PDF
DevCon School. Azure Microservices and Containers
PDF
4 red hat_minsk_june_25_2015
PDF
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
PPTX
Docker в работе: взгляд на использование в Badoo через год
PPTX
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
PPTX
Docker в работе: взгляд на использование в Badoo через год
PDF
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
PPTX
Контроль окружения сборки C++ проектов с помощью Docker. Павел Филонов. CoreH...
PDF
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)
PDF
Docker & puppet - как их скрестить и надо ли вам это, Антон Турецкий (Badoo)
PDF
Docker & Puppet: как их скрестить и надо ли вам это?
PDF
Docker & Puppet - как их скрестить и надо ли вам это, Антон Турецкий (Badoo)
obzor-tiekhnologhii-kontieinierov
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
OpenStack и Docker: вместе и по отдельности
Введение в Docker
My talk on Docker, Youcon 2015
Docker и оркетсрация контейнеров в облаке Azure
Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»
DevCon School. Azure Microservices and Containers
4 red hat_minsk_june_25_2015
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на использование в Badoo через год
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
Контроль окружения сборки C++ проектов с помощью Docker. Павел Филонов. CoreH...
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)
Docker & puppet - как их скрестить и надо ли вам это, Антон Турецкий (Badoo)
Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet - как их скрестить и надо ли вам это, Антон Турецкий (Badoo)

More from Andrey Markelov (6)

PDF
Cloud for Telco & NFV (OpenStack)
ODP
OpenShift 2.2
ODP
ODP
CloudForms 3
ODP
Red Hat Storage 3.0
PPT
Open source private cloud. ROSS-2011. Markelov
Cloud for Telco & NFV (OpenStack)
OpenShift 2.2
CloudForms 3
Red Hat Storage 3.0
Open source private cloud. ROSS-2011. Markelov

Введение в Docker

  • 2. 2 Контейнеры и виртуализация ● Разные концепции ● Виртуализация – вертикальное абстрагирование ● Контейнеры – горизонтальное разбиение ● Контейнеры используются для замены виртуализации там, где они справляются лучше: ● Горизонтальная изоляция приложений ● Делегирование окружений ● “Виртуализация приложений” ● Максимальная плотность ● Зачастую контейнеры используются поверх виртуализации
  • 4. 4 Namespaces (пространства имен) ● Mount namespaces ● mount(), umount() ● UTS namespaces ● uname() ● IPC namespaces ● System V IPC objects, POSIX message queues ● PID namespaces ● /proc, PID ● Network namespaces ● NICs, firewall, routing table
  • 5. 5 Control Groups (CGroups) ● Десять групп ● Основные группы: ● cpu ● memory ● blkio ● systemctl ● net-prio ● cgconfig (устарела) libcgroup будет удалена
  • 6. 6 SELinux – реализация MAC для GNU/Linux ● Интегрирована в ядро ● LSM и расширенные атрибуты ● Для чего использовать: ● Запуск программ с минимальными привилегиями ● Защита от эксплоитов ● Защита пользовательских данных ● Для чего не предназначена: ● Аудит кода ● Шифрование ● Обновления
  • 7. 7 Docker – изменяет правила игры ● Docker CLI интересен, но это не столь значительное нововведение. Технологии, позволяющие создавать контейнеры в GNU/Linux > 10 лет ● Docker как формат упаковки и распространения приложений – вот что важно!
  • 8. 8 Docker - понятия ● Контейнер – запущенное из образа приложение ● Образ – статический снимок конфигурации контейнера. Образы могут зависить от других образов. Образ всегда r/o. Изменения сохраняются только созданием образа поверх образа. ● Образ платформы – не имеющий родительских образов. Содержит базовые библиотеки и утилиты для запуска приложений.
  • 9. 9 Docker – упаковка приложений ● API и формат образов: ● Перемещаемость контейнеров между хостами ● Контроль версий и переиспользование компонентов ● Удаленный репозиторий для образов ● Dockerfile – шаблон конфигурации для сборки образов
  • 10. 10 Контейнеры в Linux Вариант 1: Host Containers Host Containers Идентичные контейнеры Host Linux ● В Linux хост делится на защищенные контейнеры ● В каждом контейнере запускается один код пространства пользователя ● За : Обновления применяются просто ● Против : Ограничено только Одной средой исполнения
  • 11. 11 Контейнеры в Linux Вариант 2: Image-based Containers Image-based Containers Разные контейнеры Формат Docker ● Docker предоставляет формат образов для распространения программного обеспечения. ● Пакеты самого приложения и все зависимости для внедрения приложения в контейнерах ● Docker включает в себя среду исполнения для приложений
  • 12. 12 Возможные ограничения Docker ● Возможно не достаточно зрело для mission- critical ● Возможно не достаточно безопасно ● Достаточно быстро меняется ● Приложение – один процесс
  • 13. 13 Примеры реализаций ● Операционная система ● Linux общего назначения ● CoreOS ● Atomic ● VMware Photon ● Управление ● Cockpit ● Kubernetes ● IaaS – что угодно (OpenStack, AWS.. Google.)