ݺߣ

ݺߣShare a Scribd company logo
1
RHEL 7
Контейнеры & Docker
Вебинар 28 Октября 2014
, RHCAАндрей Маркелов
Senior Solution Architect
andrey@redhat.com
2
Контейнеры и виртуализация
● Разные концепции
● Виртуализация – вертикальное абстрагирование
● Контейнеры – горизонтальное разбиение
● Контейнеры используются для замены виртуализации там, где они справляются
лучше:
● Горизонтальная изоляция приложений
● Делегирование окружений
● “Виртуализация приложений”
● Максимальная плотность
● Зачастую контейнеры используются поверх виртуализации
3
Контейнеры в RHEL 7
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)
● В RHEL 7 десять групп
● Основные группы:
● cpu
● memory
● blkio
● systemctl
● net-prio
● cgconfig (устарела) libcgroup будет удалена
6
SELinux – реализация MAC для Linux
● Интегрирована в ядро
● LSM и расширенные атрибуты
● Для чего использовать:
● Запуск программ с минимальными привилегиями
● Защита от эксплоитов
● Защита пользовательских данных
● Для чего не предназначена:
● Аудит кода
● Шифрование
● Обновления
7
Docker – изменяет правила игры
● Docker CLI интересен, но это не столь значительное
нововведение. Технологии, позволяющие создавать
контейнеры у нас были с RHEL 5
● Docker как формат упаковки и распространения приложений
– вот что важно!
8
Docker - понятия
● Контейнер – запущенное из образа приложение
● Образ – статический снимок конфигурации контейнера.
Образы могут зависить от других образов. Образ всегда r/o.
Изменения сохраняются только созданием образа поверх
образа.
● Образ платформы – не имеющий родительских образов.
Содержит базовые библиотеки и утилиты для запуска
приложений. Мы поставляем образы RHEL 6 и 7.
9
Docker – упаковка приложений
● API и формат образов:
● Перемещаемость контейнеров между хостами
● Контроль версий и переиспользование компонентов
● Удаленный репозиторий для образов
● Dockerfile – шаблон конфигурации для сборки образов
10
Контейнеры в RHEL 7 Вариант 1: Host Containers
Host Containers
Идентичные
контейнеры
Host
RHEL
● В RHEL 7 хост делится на
защищенные контейнеры
● В каждом контейнере
запускается код RHEL 7
пространства пользователя
● За : Обновления применяются
просто запуском “yum update”
● Против : Ограничено только
средой исполнения RHEL 7
11
Контейнеры в RHEL 7 Вариант 2:
Image-based Containers
Image-based
Containers
Разные контейнеры
RHEL 6
RHEL 7
RHSCL
Fedora
Формат Docker
● Docker предоставляет формат
образов для распространения
программного обеспечения.
● Пакеты самого приложения и
все зависимости для внедрения
приложения в контейнерах
● Docker включает в себя среду
исполнения для приложений
12
Что мы поддерживаем в Docker?
● RHEL 6 x86_64
● RHEL 7 x86_64
● Не в mission-critical производственных средах
● Если все-таки mission-critical, то откройте заявку в поддержке
● Какие приложения? “...Single process user-space applications
that run on Red Hat Enterprise Linux 7 should be able to run
inside docker formatted Linux container using a RHEL 7
platform image...”
● https://access.redhat.com/solutions/907283
● Какая версия Docker?
● На сегодня (28 октября 2014) - docker-1.1.2-13.el7.x86_64
13
Установка и запуск
● # subscription-manager repos --enable=rhel-7-server-extras-
rpms
● # subscription-manager repos --enable=rhel-7-server-optional-
rpms
● # yum install docker docker-registry
● # systemctl start docker.service
● # systemctl enable docker.service
14
Создание локального репозитория
● # systemctl enable docker-registry
● # systemctl start docker-registry
● # systemctl status docker-registry
● # docker pull registry.access.redhat.com/rhel
● # docker pull fedora
15
Пример запуска
# mkdir /opt/rhel_data
# echo "Server up and running" > /opt/rhel_data/test.txt
# docker run -d -p 8080:8000 --name="python_web" 
-v /usr/sbin:/usr/sbin -v /usr/bin:/usr/bin -v /usr/lib64:/usr/lib64 
-w /opt -v /opt/rhel_data:/opt rhel /bin/python -m
SimpleHTTPServer 8000
# netstat -tupln | grep 8080
tcp6 0 0 :::8080 :::* LISTEN
27739/docker
# curl localhost:8080/test.txt
Server up and running
16
Взгляд изнутри
# nsenter -m -u -n -i -p -t 26146 /bin/bash
[root@58120e57a2df /]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.0 (Maipo)
[root@58120e57a2df /]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 08:27 ? 00:00:00 /bin/python -m
SimpleHTTPServer 8000
root 6 0 0 08:48 ? 00:00:00 /bin/bash
root 20 6 0 08:50 ? 00:00:00 ps -ef
17
Что дальше?
● Get Started with Docker Containers in RHEL 7
● https://access.redhat.com/articles/881893
● Project Atomic
● http://www.projectatomic.io/
● Документация Red Hat
● http://docs.redhat.com/
Спасибо! Вопросы?
Представительство
Red Hat в России и СНГ
Москва, Земляной вал, 9
Тел +7 495 662 8837

More Related Content

What's hot (20)

Docker - быстро, просто, наглядно
Docker - быстро, просто, наглядноDocker - быстро, просто, наглядно
Docker - быстро, просто, наглядно
FallenKain
Docker for JS people
Docker for JS peopleDocker for JS people
Docker for JS people
Alex Chistyakov
Что такое Docker
Что такое DockerЧто такое Docker
Что такое Docker
Pavel Klimiankou
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupДоклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Badoo Development
Teach your dockers to use CRanes
Teach your dockers to use CRanesTeach your dockers to use CRanes
Teach your dockers to use CRanes
Pavel Emelyanov
Обзор Linux Control Groups
Обзор Linux Control GroupsОбзор Linux Control Groups
Обзор Linux Control Groups
OSLL
OpenStack - открытая облачная платформа (Руслан Киянчук, Mirantis)
OpenStack - открытая облачная платформа (Руслан Киянчук, Mirantis)OpenStack - открытая облачная платформа (Руслан Киянчук, Mirantis)
OpenStack - открытая облачная платформа (Руслан Киянчук, Mirantis)
GeeksLab Odessa
Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015
OSLL
Docker контейнерная революция
Docker контейнерная революцияDocker контейнерная революция
Docker контейнерная революция
GetDev.NET
Пространства имен Linux (linux namespaces)
Пространства имен Linux (linux namespaces)Пространства имен Linux (linux namespaces)
Пространства имен Linux (linux namespaces)
OSLL
Тестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на DockerТестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на Docker
Anton Maksimov
Непрерывная интеграция Python-проектов в Яндексе
Непрерывная интеграция Python-проектов в ЯндексеНепрерывная интеграция Python-проектов в Яндексе
Непрерывная интеграция Python-проектов в Яндексе
Andrey Kazarinov
Михаил Боднарчук "Docker для PHP разработчиков"
Михаил Боднарчук "Docker для PHP разработчиков" Михаил Боднарчук "Docker для PHP разработчиков"
Михаил Боднарчук "Docker для PHP разработчиков"
Fwdays
Docker с чем едят и для чего используют
Docker с чем едят и для чего используютDocker с чем едят и для чего используют
Docker с чем едят и для чего используют
ITCrowd Almaty
Дмитрий Перлов openSUSE Build Server: tips & tricks кросс-дистрибутивной сб...
Дмитрий Перлов openSUSE Build Server: tips & tricks кросс-дистрибутивной   сб...Дмитрий Перлов openSUSE Build Server: tips & tricks кросс-дистрибутивной   сб...
Дмитрий Перлов openSUSE Build Server: tips & tricks кросс-дистрибутивной сб...
Minsk Linux User Group
TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TК°Conf. Микросервисы и Docker. Глеб Паньшин.TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TKConf
SECON'2016. Кириллов Александр, Continuous Integration под микроскопом
SECON'2016. Кириллов Александр, Continuous Integration под микроскопомSECON'2016. Кириллов Александр, Continuous Integration под микроскопом
SECON'2016. Кириллов Александр, Continuous Integration под микроскопом
SECON
Процесс разработки и тестирования с Docker + gitlab ci
Процесс разработки и тестирования с  Docker + gitlab ciПроцесс разработки и тестирования с  Docker + gitlab ci
Процесс разработки и тестирования с Docker + gitlab ci
Александр Сигачев
OpenShift 2.2
OpenShift 2.2OpenShift 2.2
OpenShift 2.2
Andrey Markelov
Elasticsearch(java) fluentbit(c++) fluentd(ruby) kibana(javascript)
Elasticsearch(java) fluentbit(c++)    fluentd(ruby) kibana(javascript)Elasticsearch(java) fluentbit(c++)    fluentd(ruby) kibana(javascript)
Elasticsearch(java) fluentbit(c++) fluentd(ruby) kibana(javascript)
Александр Сигачев
Docker - быстро, просто, наглядно
Docker - быстро, просто, наглядноDocker - быстро, просто, наглядно
Docker - быстро, просто, наглядно
FallenKain
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupДоклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Badoo Development
Teach your dockers to use CRanes
Teach your dockers to use CRanesTeach your dockers to use CRanes
Teach your dockers to use CRanes
Pavel Emelyanov
Обзор Linux Control Groups
Обзор Linux Control GroupsОбзор Linux Control Groups
Обзор Linux Control Groups
OSLL
OpenStack - открытая облачная платформа (Руслан Киянчук, Mirantis)
OpenStack - открытая облачная платформа (Руслан Киянчук, Mirantis)OpenStack - открытая облачная платформа (Руслан Киянчук, Mirantis)
OpenStack - открытая облачная платформа (Руслан Киянчук, Mirantis)
GeeksLab Odessa
Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015
OSLL
Docker контейнерная революция
Docker контейнерная революцияDocker контейнерная революция
Docker контейнерная революция
GetDev.NET
Пространства имен Linux (linux namespaces)
Пространства имен Linux (linux namespaces)Пространства имен Linux (linux namespaces)
Пространства имен Linux (linux namespaces)
OSLL
Тестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на DockerТестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на Docker
Anton Maksimov
Непрерывная интеграция Python-проектов в Яндексе
Непрерывная интеграция Python-проектов в ЯндексеНепрерывная интеграция Python-проектов в Яндексе
Непрерывная интеграция Python-проектов в Яндексе
Andrey Kazarinov
Михаил Боднарчук "Docker для PHP разработчиков"
Михаил Боднарчук "Docker для PHP разработчиков" Михаил Боднарчук "Docker для PHP разработчиков"
Михаил Боднарчук "Docker для PHP разработчиков"
Fwdays
Docker с чем едят и для чего используют
Docker с чем едят и для чего используютDocker с чем едят и для чего используют
Docker с чем едят и для чего используют
ITCrowd Almaty
Дмитрий Перлов openSUSE Build Server: tips & tricks кросс-дистрибутивной сб...
Дмитрий Перлов openSUSE Build Server: tips & tricks кросс-дистрибутивной   сб...Дмитрий Перлов openSUSE Build Server: tips & tricks кросс-дистрибутивной   сб...
Дмитрий Перлов openSUSE Build Server: tips & tricks кросс-дистрибутивной сб...
Minsk Linux User Group
TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TК°Conf. Микросервисы и Docker. Глеб Паньшин.TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TKConf
SECON'2016. Кириллов Александр, Continuous Integration под микроскопом
SECON'2016. Кириллов Александр, Continuous Integration под микроскопомSECON'2016. Кириллов Александр, Continuous Integration под микроскопом
SECON'2016. Кириллов Александр, Continuous Integration под микроскопом
SECON
Процесс разработки и тестирования с Docker + gitlab ci
Процесс разработки и тестирования с  Docker + gitlab ciПроцесс разработки и тестирования с  Docker + gitlab ci
Процесс разработки и тестирования с Docker + gitlab ci
Александр Сигачев
Elasticsearch(java) fluentbit(c++) fluentd(ruby) kibana(javascript)
Elasticsearch(java) fluentbit(c++)    fluentd(ruby) kibana(javascript)Elasticsearch(java) fluentbit(c++)    fluentd(ruby) kibana(javascript)
Elasticsearch(java) fluentbit(c++) fluentd(ruby) kibana(javascript)
Александр Сигачев

Viewers also liked (19)

Linux Container Technology inside Docker with RHEL7
Linux Container Technology inside Docker with RHEL7Linux Container Technology inside Docker with RHEL7
Linux Container Technology inside Docker with RHEL7
Etsuji Nakai
AulasAulas
Aulas
Juan Gonzalez
Grafico diario del dax perfomance index para el 11 05-2012Grafico diario del dax perfomance index para el 11 05-2012
Grafico diario del dax perfomance index para el 11 05-2012
Experiencia Trading
איתמר ורלי
איתמר ורליאיתמר ורלי
איתמר ורלי
merkazy
Replacement of legacy cis with sap cr&b at phi
Replacement of legacy cis with sap cr&b at phiReplacement of legacy cis with sap cr&b at phi
Replacement of legacy cis with sap cr&b at phi
robgirvan
2013-09-12 - SUGDC - Office 365 and Hybrid Solutions
2013-09-12 - SUGDC - Office 365 and Hybrid Solutions2013-09-12 - SUGDC - Office 365 and Hybrid Solutions
2013-09-12 - SUGDC - Office 365 and Hybrid Solutions
Dan Usher
HAPPYWEEK 172 2016.05.30.
HAPPYWEEK 172 2016.05.30.HAPPYWEEK 172 2016.05.30.
HAPPYWEEK 172 2016.05.30.
Jiří Černák
Turismo accesible.Turismo accesible.
Turismo accesible.
José María
Apache Hadoop at 10
Apache Hadoop at 10Apache Hadoop at 10
Apache Hadoop at 10
Cloudera, Inc.
Nl HUG 2016 Feb Hadoop security from the trenches
Nl HUG 2016 Feb Hadoop security from the trenchesNl HUG 2016 Feb Hadoop security from the trenches
Nl HUG 2016 Feb Hadoop security from the trenches
Bolke de Bruin
ΥΠΑΤΙΑ Η ΑΛΕΞΑΝΔΡΙΝΗ ΠΡΟΣΤΑΤΙΣ ΤΩΝ ΕΛΛΗΝΙΚΩΝ ΓΡΑΜΜ
ΥΠΑΤΙΑ Η ΑΛΕΞΑΝΔΡΙΝΗ ΠΡΟΣΤΑΤΙΣ ΤΩΝ ΕΛΛΗΝΙΚΩΝ ΓΡΑΜΜΥΠΑΤΙΑ Η ΑΛΕΞΑΝΔΡΙΝΗ ΠΡΟΣΤΑΤΙΣ ΤΩΝ ΕΛΛΗΝΙΚΩΝ ΓΡΑΜΜ
ΥΠΑΤΙΑ Η ΑΛΕΞΑΝΔΡΙΝΗ ΠΡΟΣΤΑΤΙΣ ΤΩΝ ΕΛΛΗΝΙΚΩΝ ΓΡΑΜΜ
Iason Yannis Schizas
Privasi dan keselamatan data
Privasi dan keselamatan dataPrivasi dan keselamatan data
Privasi dan keselamatan data
Syahrul Nizam Junaini
Oportunidad de negocio cardi ventas por catalogo para ganar dineroOportunidad de negocio cardi ventas por catalogo para ganar dinero
Oportunidad de negocio cardi ventas por catalogo para ganar dinero
Venta por Catalogo
AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -
AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -
AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -
Ryoya Kawai
ΠΑΡΟΥΣΙΑΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΕΥΝΑΣ ΔΗΜΟΤΙΚΟΥ ΣΧΟΛΕΙΟΥ ΓΑΛΛΙΚΟΥ
ΠΑΡΟΥΣΙΑΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΕΥΝΑΣ ΔΗΜΟΤΙΚΟΥ ΣΧΟΛΕΙΟΥ ΓΑΛΛΙΚΟΥΠΑΡΟΥΣΙΑΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΕΥΝΑΣ ΔΗΜΟΤΙΚΟΥ ΣΧΟΛΕΙΟΥ ΓΑΛΛΙΚΟΥ
ΠΑΡΟΥΣΙΑΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΕΥΝΑΣ ΔΗΜΟΤΙΚΟΥ ΣΧΟΛΕΙΟΥ ΓΑΛΛΙΚΟΥ
karatzid
Open pit mining
Open pit miningOpen pit mining
Open pit mining
gereltuya
SEO + Content Marketing Best Practices
SEO + Content Marketing Best PracticesSEO + Content Marketing Best Practices
SEO + Content Marketing Best Practices
Ryan Stewart
Beyond instructional design: how performance support is revolutionizng e-lear...
Beyond instructional design: how performance support is revolutionizng e-lear...Beyond instructional design: how performance support is revolutionizng e-lear...
Beyond instructional design: how performance support is revolutionizng e-lear...
Jane Hart
Linux Container Technology inside Docker with RHEL7
Linux Container Technology inside Docker with RHEL7Linux Container Technology inside Docker with RHEL7
Linux Container Technology inside Docker with RHEL7
Etsuji Nakai
Grafico diario del dax perfomance index para el 11 05-2012Grafico diario del dax perfomance index para el 11 05-2012
Grafico diario del dax perfomance index para el 11 05-2012
Experiencia Trading
איתמר ורלי
איתמר ורליאיתמר ורלי
איתמר ורלי
merkazy
Replacement of legacy cis with sap cr&b at phi
Replacement of legacy cis with sap cr&b at phiReplacement of legacy cis with sap cr&b at phi
Replacement of legacy cis with sap cr&b at phi
robgirvan
2013-09-12 - SUGDC - Office 365 and Hybrid Solutions
2013-09-12 - SUGDC - Office 365 and Hybrid Solutions2013-09-12 - SUGDC - Office 365 and Hybrid Solutions
2013-09-12 - SUGDC - Office 365 and Hybrid Solutions
Dan Usher
Turismo accesible.Turismo accesible.
Turismo accesible.
José María
Nl HUG 2016 Feb Hadoop security from the trenches
Nl HUG 2016 Feb Hadoop security from the trenchesNl HUG 2016 Feb Hadoop security from the trenches
Nl HUG 2016 Feb Hadoop security from the trenches
Bolke de Bruin
ΥΠΑΤΙΑ Η ΑΛΕΞΑΝΔΡΙΝΗ ΠΡΟΣΤΑΤΙΣ ΤΩΝ ΕΛΛΗΝΙΚΩΝ ΓΡΑΜΜ
ΥΠΑΤΙΑ Η ΑΛΕΞΑΝΔΡΙΝΗ ΠΡΟΣΤΑΤΙΣ ΤΩΝ ΕΛΛΗΝΙΚΩΝ ΓΡΑΜΜΥΠΑΤΙΑ Η ΑΛΕΞΑΝΔΡΙΝΗ ΠΡΟΣΤΑΤΙΣ ΤΩΝ ΕΛΛΗΝΙΚΩΝ ΓΡΑΜΜ
ΥΠΑΤΙΑ Η ΑΛΕΞΑΝΔΡΙΝΗ ΠΡΟΣΤΑΤΙΣ ΤΩΝ ΕΛΛΗΝΙΚΩΝ ΓΡΑΜΜ
Iason Yannis Schizas
Oportunidad de negocio cardi ventas por catalogo para ganar dineroOportunidad de negocio cardi ventas por catalogo para ganar dinero
Oportunidad de negocio cardi ventas por catalogo para ganar dinero
Venta por Catalogo
AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -
AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -
AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -
Ryoya Kawai
ΠΑΡΟΥΣΙΑΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΕΥΝΑΣ ΔΗΜΟΤΙΚΟΥ ΣΧΟΛΕΙΟΥ ΓΑΛΛΙΚΟΥ
ΠΑΡΟΥΣΙΑΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΕΥΝΑΣ ΔΗΜΟΤΙΚΟΥ ΣΧΟΛΕΙΟΥ ΓΑΛΛΙΚΟΥΠΑΡΟΥΣΙΑΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΕΥΝΑΣ ΔΗΜΟΤΙΚΟΥ ΣΧΟΛΕΙΟΥ ΓΑΛΛΙΚΟΥ
ΠΑΡΟΥΣΙΑΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΕΥΝΑΣ ΔΗΜΟΤΙΚΟΥ ΣΧΟΛΕΙΟΥ ΓΑΛΛΙΚΟΥ
karatzid
SEO + Content Marketing Best Practices
SEO + Content Marketing Best PracticesSEO + Content Marketing Best Practices
SEO + Content Marketing Best Practices
Ryan Stewart
Beyond instructional design: how performance support is revolutionizng e-lear...
Beyond instructional design: how performance support is revolutionizng e-lear...Beyond instructional design: how performance support is revolutionizng e-lear...
Beyond instructional design: how performance support is revolutionizng e-lear...
Jane Hart

Similar to RHEL 7. Контейнеры и Docker (20)

Локальное окружение на Docker
Локальное окружение на DockerЛокальное окружение на Docker
Локальное окружение на Docker
Михаил Бакулин
OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельности
OpenStackRussia
My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25
Alex Chistyakov
Net core and linux in production
Net core and linux in productionNet core and linux in production
Net core and linux in production
Anatoly Popov
Применяем Ansible
Применяем AnsibleПрименяем Ansible
Применяем Ansible
Alexander Svetkin
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
LogeekNightUkraine
Application deployment & configuration management
Application deployment & configuration managementApplication deployment & configuration management
Application deployment & configuration management
Alexander Kirillov
Управление облачной инфраструктурой
Управление облачной инфраструктуройУправление облачной инфраструктурой
Управление облачной инфраструктурой
dddpaul
Codeception + Docker + Robo и что из этого вышло
Codeception + Docker + Robo и что из этого вышлоCodeception + Docker + Robo и что из этого вышло
Codeception + Docker + Robo и что из этого вышло
COMAQA.BY
Zero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeZero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And Forge
Yehor Herasymchuk
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Ontico
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
Anton Turetsky
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
Badoo Development
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Ontico
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
DrupalCamp MSK
От Make к Ansible
От Make к AnsibleОт Make к Ansible
От Make к Ansible
Ivan Grishaev
Rapid Deployment of Hadoop Development Environments
Rapid Deployment of Hadoop Development EnvironmentsRapid Deployment of Hadoop Development Environments
Rapid Deployment of Hadoop Development Environments
Andrei Nikolaenko
Ci на базе docker
Ci на базе dockerCi на базе docker
Ci на базе docker
Ivan Grishaev
Как не стать рабом облака. PaaS 2.0 с Docker
Как не стать рабом облака. PaaS 2.0 с DockerКак не стать рабом облака. PaaS 2.0 с Docker
Как не стать рабом облака. PaaS 2.0 с Docker
trukhinyuri
OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельности
OpenStackRussia
My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25
Alex Chistyakov
Net core and linux in production
Net core and linux in productionNet core and linux in production
Net core and linux in production
Anatoly Popov
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
LogeekNightUkraine
Application deployment & configuration management
Application deployment & configuration managementApplication deployment & configuration management
Application deployment & configuration management
Alexander Kirillov
Управление облачной инфраструктурой
Управление облачной инфраструктуройУправление облачной инфраструктурой
Управление облачной инфраструктурой
dddpaul
Codeception + Docker + Robo и что из этого вышло
Codeception + Docker + Robo и что из этого вышлоCodeception + Docker + Robo и что из этого вышло
Codeception + Docker + Robo и что из этого вышло
COMAQA.BY
Zero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeZero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And Forge
Yehor Herasymchuk
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Ontico
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
Anton Turetsky
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
Badoo Development
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Ontico
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
DrupalCamp MSK
Rapid Deployment of Hadoop Development Environments
Rapid Deployment of Hadoop Development EnvironmentsRapid Deployment of Hadoop Development Environments
Rapid Deployment of Hadoop Development Environments
Andrei Nikolaenko
Как не стать рабом облака. PaaS 2.0 с Docker
Как не стать рабом облака. PaaS 2.0 с DockerКак не стать рабом облака. PaaS 2.0 с Docker
Как не стать рабом облака. PaaS 2.0 с Docker
trukhinyuri

More from Andrey Markelov (11)

Openstack birhtday 2016 Ericsson OPNFV (Russian)
Openstack birhtday 2016 Ericsson OPNFV (Russian)Openstack birhtday 2016 Ericsson OPNFV (Russian)
Openstack birhtday 2016 Ericsson OPNFV (Russian)
Andrey Markelov
Cloud for Telco & NFV (OpenStack)
Cloud for Telco & NFV (OpenStack)Cloud for Telco & NFV (OpenStack)
Cloud for Telco & NFV (OpenStack)
Andrey Markelov
CloudForms 3
CloudForms 3CloudForms 3
CloudForms 3
Andrey Markelov
Red Hat Enterprise Virtualization. Технический обзор
Red Hat Enterprise Virtualization. Технический обзорRed Hat Enterprise Virtualization. Технический обзор
Red Hat Enterprise Virtualization. Технический обзор
Andrey Markelov
Red Hat Storage 3.0
Red Hat Storage 3.0Red Hat Storage 3.0
Red Hat Storage 3.0
Andrey Markelov
Что нового в управлении аутентификацией и авторизацией в RHEL 6.4
Что нового в управлении аутентификацией и авторизацией в RHEL 6.4Что нового в управлении аутентификацией и авторизацией в RHEL 6.4
Что нового в управлении аутентификацией и авторизацией в RHEL 6.4
Andrey Markelov
Обзор Red Hat Directory Server и RHEL IdM
Обзор Red Hat Directory Server и RHEL IdMОбзор Red Hat Directory Server и RHEL IdM
Обзор Red Hat Directory Server и RHEL IdM
Andrey Markelov
Средства обеспечения высокой доступности сервисов в RHEL
Средства обеспечения высокой доступности сервисов в RHELСредства обеспечения высокой доступности сервисов в RHEL
Средства обеспечения высокой доступности сервисов в RHEL
Andrey Markelov
Настройка производительности. Планировщик ввода/вывода
Настройка производительности. Планировщик ввода/выводаНастройка производительности. Планировщик ввода/вывода
Настройка производительности. Планировщик ввода/вывода
Andrey Markelov
Open source private cloud. ROSS-2011. Markelov
Open source private cloud. ROSS-2011. MarkelovOpen source private cloud. ROSS-2011. Markelov
Open source private cloud. ROSS-2011. Markelov
Andrey Markelov
Openstack birhtday 2016 Ericsson OPNFV (Russian)
Openstack birhtday 2016 Ericsson OPNFV (Russian)Openstack birhtday 2016 Ericsson OPNFV (Russian)
Openstack birhtday 2016 Ericsson OPNFV (Russian)
Andrey Markelov
Cloud for Telco & NFV (OpenStack)
Cloud for Telco & NFV (OpenStack)Cloud for Telco & NFV (OpenStack)
Cloud for Telco & NFV (OpenStack)
Andrey Markelov
Red Hat Enterprise Virtualization. Технический обзор
Red Hat Enterprise Virtualization. Технический обзорRed Hat Enterprise Virtualization. Технический обзор
Red Hat Enterprise Virtualization. Технический обзор
Andrey Markelov
Что нового в управлении аутентификацией и авторизацией в RHEL 6.4
Что нового в управлении аутентификацией и авторизацией в RHEL 6.4Что нового в управлении аутентификацией и авторизацией в RHEL 6.4
Что нового в управлении аутентификацией и авторизацией в RHEL 6.4
Andrey Markelov
Обзор Red Hat Directory Server и RHEL IdM
Обзор Red Hat Directory Server и RHEL IdMОбзор Red Hat Directory Server и RHEL IdM
Обзор Red Hat Directory Server и RHEL IdM
Andrey Markelov
Средства обеспечения высокой доступности сервисов в RHEL
Средства обеспечения высокой доступности сервисов в RHELСредства обеспечения высокой доступности сервисов в RHEL
Средства обеспечения высокой доступности сервисов в RHEL
Andrey Markelov
Настройка производительности. Планировщик ввода/вывода
Настройка производительности. Планировщик ввода/выводаНастройка производительности. Планировщик ввода/вывода
Настройка производительности. Планировщик ввода/вывода
Andrey Markelov
Open source private cloud. ROSS-2011. Markelov
Open source private cloud. ROSS-2011. MarkelovOpen source private cloud. ROSS-2011. Markelov
Open source private cloud. ROSS-2011. Markelov
Andrey Markelov

RHEL 7. Контейнеры и Docker

  • 1. 1 RHEL 7 Контейнеры & Docker Вебинар 28 Октября 2014 , RHCAАндрей Маркелов Senior Solution Architect andrey@redhat.com
  • 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) ● В RHEL 7 десять групп ● Основные группы: ● cpu ● memory ● blkio ● systemctl ● net-prio ● cgconfig (устарела) libcgroup будет удалена
  • 6. 6 SELinux – реализация MAC для Linux ● Интегрирована в ядро ● LSM и расширенные атрибуты ● Для чего использовать: ● Запуск программ с минимальными привилегиями ● Защита от эксплоитов ● Защита пользовательских данных ● Для чего не предназначена: ● Аудит кода ● Шифрование ● Обновления
  • 7. 7 Docker – изменяет правила игры ● Docker CLI интересен, но это не столь значительное нововведение. Технологии, позволяющие создавать контейнеры у нас были с RHEL 5 ● Docker как формат упаковки и распространения приложений – вот что важно!
  • 8. 8 Docker - понятия ● Контейнер – запущенное из образа приложение ● Образ – статический снимок конфигурации контейнера. Образы могут зависить от других образов. Образ всегда r/o. Изменения сохраняются только созданием образа поверх образа. ● Образ платформы – не имеющий родительских образов. Содержит базовые библиотеки и утилиты для запуска приложений. Мы поставляем образы RHEL 6 и 7.
  • 9. 9 Docker – упаковка приложений ● API и формат образов: ● Перемещаемость контейнеров между хостами ● Контроль версий и переиспользование компонентов ● Удаленный репозиторий для образов ● Dockerfile – шаблон конфигурации для сборки образов
  • 10. 10 Контейнеры в RHEL 7 Вариант 1: Host Containers Host Containers Идентичные контейнеры Host RHEL ● В RHEL 7 хост делится на защищенные контейнеры ● В каждом контейнере запускается код RHEL 7 пространства пользователя ● За : Обновления применяются просто запуском “yum update” ● Против : Ограничено только средой исполнения RHEL 7
  • 11. 11 Контейнеры в RHEL 7 Вариант 2: Image-based Containers Image-based Containers Разные контейнеры RHEL 6 RHEL 7 RHSCL Fedora Формат Docker ● Docker предоставляет формат образов для распространения программного обеспечения. ● Пакеты самого приложения и все зависимости для внедрения приложения в контейнерах ● Docker включает в себя среду исполнения для приложений
  • 12. 12 Что мы поддерживаем в Docker? ● RHEL 6 x86_64 ● RHEL 7 x86_64 ● Не в mission-critical производственных средах ● Если все-таки mission-critical, то откройте заявку в поддержке ● Какие приложения? “...Single process user-space applications that run on Red Hat Enterprise Linux 7 should be able to run inside docker formatted Linux container using a RHEL 7 platform image...” ● https://access.redhat.com/solutions/907283 ● Какая версия Docker? ● На сегодня (28 октября 2014) - docker-1.1.2-13.el7.x86_64
  • 13. 13 Установка и запуск ● # subscription-manager repos --enable=rhel-7-server-extras- rpms ● # subscription-manager repos --enable=rhel-7-server-optional- rpms ● # yum install docker docker-registry ● # systemctl start docker.service ● # systemctl enable docker.service
  • 14. 14 Создание локального репозитория ● # systemctl enable docker-registry ● # systemctl start docker-registry ● # systemctl status docker-registry ● # docker pull registry.access.redhat.com/rhel ● # docker pull fedora
  • 15. 15 Пример запуска # mkdir /opt/rhel_data # echo "Server up and running" > /opt/rhel_data/test.txt # docker run -d -p 8080:8000 --name="python_web" -v /usr/sbin:/usr/sbin -v /usr/bin:/usr/bin -v /usr/lib64:/usr/lib64 -w /opt -v /opt/rhel_data:/opt rhel /bin/python -m SimpleHTTPServer 8000 # netstat -tupln | grep 8080 tcp6 0 0 :::8080 :::* LISTEN 27739/docker # curl localhost:8080/test.txt Server up and running
  • 16. 16 Взгляд изнутри # nsenter -m -u -n -i -p -t 26146 /bin/bash [root@58120e57a2df /]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.0 (Maipo) [root@58120e57a2df /]# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 08:27 ? 00:00:00 /bin/python -m SimpleHTTPServer 8000 root 6 0 0 08:48 ? 00:00:00 /bin/bash root 20 6 0 08:50 ? 00:00:00 ps -ef
  • 17. 17 Что дальше? ● Get Started with Docker Containers in RHEL 7 ● https://access.redhat.com/articles/881893 ● Project Atomic ● http://www.projectatomic.io/ ● Документация Red Hat ● http://docs.redhat.com/
  • 18. Спасибо! Вопросы? Представительство Red Hat в России и СНГ Москва, Земляной вал, 9 Тел +7 495 662 8837