SlideShare a Scribd company logo
Практика использования
Docker
Alex Chistyakov, CTO @ ClearTech
Оглавление
- Что такое Docker (зачем?)
- Как не нужно использовать Docker
- Как нужно использовать Docker
- Экосистема вокруг Docker
2
Чего в докладе не будет
- Скучных примеров кода
- Веселых примеров кода
3
Оглавление
- Что такое Docker (зачем?)
- Как не нужно использовать Docker
- Как нужно использовать Docker
- Экосистема вокруг Docker
4
Что такое Docker?
- Еще одна попытка захватить мир
5
Что такое Docker?
- Еще одна попытка захватить мир
- Сервис для запуска контейнеров и управления ими
6
Что такое Docker?
- Еще одна попытка захватить мир
- Сервис для запуска контейнеров и управления ими
- Пакетный менеджер нового типа для Linux
7
Что такое Docker?
- Еще одна попытка захватить мир
- Сервис для запуска контейнеров и управления ими
- Пакетный менеджер нового типа для Linux
- Уровень абстракции над сетью и диском
8
Что такое Docker?
- Еще одна попытка захватить мир
- Сервис для запуска контейнеров и управления ими
- Пакетный менеджер нового типа для Linux
- Уровень абстракции над сетью и диском
9
Зачем Docker?
- Еще одна попытка захватить мир
- Сервис для запуска контейнеров и управления ими
- Пакетный менеджер нового типа для Linux
- Уровень абстракции над сетью и диском
10
Как работает Docker?
- Описать процесс сборки образа
- Опубликовать образ в registry
- Скачать образ
- Запустить контейнер на базе образа
- Смонтировать каталоги и сделать мэппинг портов
11
Оглавление
- Что такое Docker (зачем?)
- Как не нужно использовать Docker
- Как нужно использовать Docker
- Экосистема вокруг Docker
12
Как мы ходили в горы и упали
- Phusion baseimage (“толстые” контейнеры)
13
Как мы ходили в горы и упали
- Phusion baseimage (“толстые” контейнеры)
- Изменяемые контейнеры
14
Как мы ходили в горы и упали
- Phusion baseimage (“толстые” контейнеры)
- Изменяемые контейнеры
- Разработка прямо внутри контейнера
15
Как мы ходили в горы и упали
- Phusion baseimage (“толстые” контейнеры)
- Изменяемые контейнеры
- Разработка прямо внутри контейнера
- Хранение состояния прямо внутри контейнера
16
Состояние внутри контейнера
- Медленно
17
Состояние внутри контейнера
- Медленно
- Печально
18
Жизнь состоит из мелочей
- AUFS
- BTRFS
- ZFS
- OverlayFS
- DM
19
Жизнь состоит из мелочей
- AUFS
- BTRFS
- ZFS
- OverlayFS
- DM
- “К черту подробности, город!”
20
Жизнь состоит из мелочей
- ext4
- XFS
- NFS
21
Как мы ходили в горы и упали
- Phusion baseimage (“толстые” контейнеры)
- Изменяемые контейнеры
- Разработка прямо внутри контейнера
- Хранение состояния прямо внутри контейнера
- Общая сеть на несколько хостов
22
Оглавление
- Что такое Docker (зачем?)
- Как не нужно использовать Docker
- Как нужно использовать Docker
- Экосистема вокруг Docker
23
Это котик
24
Ирландский пудинг
- Один контейнер - одно приложение
25
Ирландский пудинг
- Один контейнер - одно приложение
- Файловая система внутри контейнера - read-only
26
Ирландский пудинг
- Один контейнер - одно приложение
- Файловая система внутри контейнера - read-only
- Если возможно - используйте сеть хоста
27
Ирландский пудинг
- Один контейнер - одно приложение
- Файловая система внутри контейнера - read-only
- Если возможно - используйте сеть хоста
- Пишите адские Dockerfiles с минимумом слоев
28
Оглавление
- Что такое Docker (зачем?)
- Как не нужно использовать Docker
- Как нужно использовать Docker
- Экосистема вокруг Docker
29
Ваши кураторы в игре “Синий кит”
- https://hub.docker.com
30
Ваши кураторы в игре “Синий кит”
- https://hub.docker.com
- Docker registry
31
Ваши кураторы в игре “Синий кит”
- https://hub.docker.com
- Docker registry
- Docker distribution
32
Ваши кураторы в игре “Синий кит”
- https://hub.docker.com
- Docker registry
- Docker distribution
- VMWare Harbor
33
Ваши кураторы в игре “Синий кит”
- https://hub.docker.com
- Docker registry
- Docker distribution
- VMWare Harbor
- ^ Запускается при помощи Docker Compose
34
Docker Compose
- Транслятор YAML-описания в набор связанных между
собой контейнеров
35
Docker Compose
- Транслятор YAML-описания в набор связанных между
собой контейнеров
- Управляет группой контейнеров как единым целым
36
Docker Compose
- Транслятор YAML-описания в набор связанных между
собой контейнеров
- Управляет группой контейнеров как единым целым
- Управляет сетями, дисками и портами
37
Ваши вопросы?
- alexclear@gmail.com
- Skype, Telegram: demeliorator
- У меня есть канал в Telegram:
http://t.me/lhommequipleure
38
Спасибо!
39

More Related Content

PPTX
Что такое Docker
PPT
Docker - быстро, просто, наглядно
PDF
Docker - счастье для хомячка или ника?
ODP
Docker : что это, зачем, и как им пользоваться
PDF
Docker. Основы
ODP
Введение в Docker
PDF
Docker контейнерная революция
Что такое Docker
Docker - быстро, просто, наглядно
Docker - счастье для хомячка или ника?
Docker : что это, зачем, и как им пользоваться
Docker. Основы
Введение в Docker
Docker контейнерная революция

What's hot (20)

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

Similar to Docker for JS people (20)

PPTX
Docker в работе: взгляд на использование в Badoo через год
PPTX
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
PPTX
Docker в работе: взгляд на использование в Badoo через год
PPTX
Docker. Зачем он нам?
PPTX
Docker & Badoo: 
никогда не останавливайся на достигнутом
PPTX
Антон Турецкий
PDF
Docker в Badoo: ПМЖ или временная регистрация
PDF
Docker integration into Badoo
PDF
Локальное окружение на Docker
PPTX
Dev ops.events.v tymoshyk-20-oct-2016
PDF
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
PDF
OpenStack и Docker: вместе и по отдельности
PDF
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
ODP
My talk on Docker, Youcon 2015
PDF
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
PDF
My talk on Docker from Moscow Django Meetup #25
PPTX
Net core and linux in production
PDF
Леонид Васильев "Python в инфраструктуре поиска"
PPTX
PDF
Развёртывание приложений Docker в контейнерах Virtuozzo -- Павел Тихомиров
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на использование в Badoo через год
Docker. Зачем он нам?
Docker & Badoo: 
никогда не останавливайся на достигнутом
Антон Турецкий
Docker в Badoo: ПМЖ или временная регистрация
Docker integration into Badoo
Локальное окружение на Docker
Dev ops.events.v tymoshyk-20-oct-2016
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
OpenStack и Docker: вместе и по отдельности
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
My talk on Docker, Youcon 2015
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
My talk on Docker from Moscow Django Meetup #25
Net core and linux in production
Леонид Васильев "Python в инфраструктуре поиска"
Развёртывание приложений Docker в контейнерах Virtuozzo -- Павел Тихомиров
Ad

More from Alex Chistyakov (20)

PDF
My slides from DevOpsDays 2019
PDF
My slides from BMM №3 May 2019
PDF
My slides from DevOps-40 meetup Jun 2019
PDF
My slides from SECR'2018
PDF
My slides from the first SPb SRE community meetup at DataArt
PDF
My slides from CC'2019
PDF
My slides from BMM №4 Nov 2019
PDF
My slides from DevOps-40 meetup Oct 2019
PDF
My slides from DevOps-40 meetup Dec 2019
PDF
Configuration management and Kubernetes
PDF
Ansible and other stuff
PDF
Python performance engineering in 2017
PDF
My talk at SPb SQA sub-meetup of ITGM
PDF
My talk at SECR 2017
PDF
On scaling teams
PDF
MariaDB workshop
PDF
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
PDF
My talk on GitHub open data at ITGM #10
PDF
My talk on DevOps :) at Stachka 2017
PDF
My talk on programming languages at SPbLUG Mar 2017
My slides from DevOpsDays 2019
My slides from BMM №3 May 2019
My slides from DevOps-40 meetup Jun 2019
My slides from SECR'2018
My slides from the first SPb SRE community meetup at DataArt
My slides from CC'2019
My slides from BMM №4 Nov 2019
My slides from DevOps-40 meetup Oct 2019
My slides from DevOps-40 meetup Dec 2019
Configuration management and Kubernetes
Ansible and other stuff
Python performance engineering in 2017
My talk at SPb SQA sub-meetup of ITGM
My talk at SECR 2017
On scaling teams
MariaDB workshop
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on GitHub open data at ITGM #10
My talk on DevOps :) at Stachka 2017
My talk on programming languages at SPbLUG Mar 2017

Docker for JS people

  • 2. Оглавление - Что такое Docker (зачем?) - Как не нужно использовать Docker - Как нужно использовать Docker - Экосистема вокруг Docker 2
  • 3. Чего в докладе не будет - Скучных примеров кода - Веселых примеров кода 3
  • 4. Оглавление - Что такое Docker (зачем?) - Как не нужно использовать Docker - Как нужно использовать Docker - Экосистема вокруг Docker 4
  • 5. Что такое Docker? - Еще одна попытка захватить мир 5
  • 6. Что такое Docker? - Еще одна попытка захватить мир - Сервис для запуска контейнеров и управления ими 6
  • 7. Что такое Docker? - Еще одна попытка захватить мир - Сервис для запуска контейнеров и управления ими - Пакетный менеджер нового типа для Linux 7
  • 8. Что такое Docker? - Еще одна попытка захватить мир - Сервис для запуска контейнеров и управления ими - Пакетный менеджер нового типа для Linux - Уровень абстракции над сетью и диском 8
  • 9. Что такое Docker? - Еще одна попытка захватить мир - Сервис для запуска контейнеров и управления ими - Пакетный менеджер нового типа для Linux - Уровень абстракции над сетью и диском 9
  • 10. Зачем Docker? - Еще одна попытка захватить мир - Сервис для запуска контейнеров и управления ими - Пакетный менеджер нового типа для Linux - Уровень абстракции над сетью и диском 10
  • 11. Как работает Docker? - Описать процесс сборки образа - Опубликовать образ в registry - Скачать образ - Запустить контейнер на базе образа - Смонтировать каталоги и сделать мэппинг портов 11
  • 12. Оглавление - Что такое Docker (зачем?) - Как не нужно использовать Docker - Как нужно использовать Docker - Экосистема вокруг Docker 12
  • 13. Как мы ходили в горы и упали - Phusion baseimage (“толстые” контейнеры) 13
  • 14. Как мы ходили в горы и упали - Phusion baseimage (“толстые” контейнеры) - Изменяемые контейнеры 14
  • 15. Как мы ходили в горы и упали - Phusion baseimage (“толстые” контейнеры) - Изменяемые контейнеры - Разработка прямо внутри контейнера 15
  • 16. Как мы ходили в горы и упали - Phusion baseimage (“толстые” контейнеры) - Изменяемые контейнеры - Разработка прямо внутри контейнера - Хранение состояния прямо внутри контейнера 16
  • 18. Состояние внутри контейнера - Медленно - Печально 18
  • 19. Жизнь состоит из мелочей - AUFS - BTRFS - ZFS - OverlayFS - DM 19
  • 20. Жизнь состоит из мелочей - AUFS - BTRFS - ZFS - OverlayFS - DM - “К черту подробности, город!” 20
  • 21. Жизнь состоит из мелочей - ext4 - XFS - NFS 21
  • 22. Как мы ходили в горы и упали - Phusion baseimage (“толстые” контейнеры) - Изменяемые контейнеры - Разработка прямо внутри контейнера - Хранение состояния прямо внутри контейнера - Общая сеть на несколько хостов 22
  • 23. Оглавление - Что такое Docker (зачем?) - Как не нужно использовать Docker - Как нужно использовать Docker - Экосистема вокруг Docker 23
  • 25. Ирландский пудинг - Один контейнер - одно приложение 25
  • 26. Ирландский пудинг - Один контейнер - одно приложение - Файловая система внутри контейнера - read-only 26
  • 27. Ирландский пудинг - Один контейнер - одно приложение - Файловая система внутри контейнера - read-only - Если возможно - используйте сеть хоста 27
  • 28. Ирландский пудинг - Один контейнер - одно приложение - Файловая система внутри контейнера - read-only - Если возможно - используйте сеть хоста - Пишите адские Dockerfiles с минимумом слоев 28
  • 29. Оглавление - Что такое Docker (зачем?) - Как не нужно использовать Docker - Как нужно использовать Docker - Экосистема вокруг Docker 29
  • 30. Ваши кураторы в игре “Синий кит” - https://hub.docker.com 30
  • 31. Ваши кураторы в игре “Синий кит” - https://hub.docker.com - Docker registry 31
  • 32. Ваши кураторы в игре “Синий кит” - https://hub.docker.com - Docker registry - Docker distribution 32
  • 33. Ваши кураторы в игре “Синий кит” - https://hub.docker.com - Docker registry - Docker distribution - VMWare Harbor 33
  • 34. Ваши кураторы в игре “Синий кит” - https://hub.docker.com - Docker registry - Docker distribution - VMWare Harbor - ^ Запускается при помощи Docker Compose 34
  • 35. Docker Compose - Транслятор YAML-описания в набор связанных между собой контейнеров 35
  • 36. Docker Compose - Транслятор YAML-описания в набор связанных между собой контейнеров - Управляет группой контейнеров как единым целым 36
  • 37. Docker Compose - Транслятор YAML-описания в набор связанных между собой контейнеров - Управляет группой контейнеров как единым целым - Управляет сетями, дисками и портами 37
  • 38. Ваши вопросы? - alexclear@gmail.com - Skype, Telegram: demeliorator - У меня есть канал в Telegram: http://t.me/lhommequipleure 38