docker for js people

39
Практика использования Docker Alex Chistyakov, CTO @ ClearTech

Upload: alex-chistyakov

Post on 22-Jan-2018

52 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Docker for JS people

Практика использования Docker

Alex Chistyakov, CTO @ ClearTech

Page 2: Docker for JS people

Оглавление- Что такое Docker (зачем?)

- Как не нужно использовать Docker

- Как нужно использовать Docker

- Экосистема вокруг Docker

2

Page 3: Docker for JS people

Чего в докладе не будет- Скучных примеров кода

- Веселых примеров кода

3

Page 4: Docker for JS people

Оглавление- Что такое Docker (зачем?)

- Как не нужно использовать Docker

- Как нужно использовать Docker

- Экосистема вокруг Docker

4

Page 5: Docker for JS people

Что такое Docker?- Еще одна попытка захватить мир

5

Page 6: Docker for JS people

Что такое Docker?- Еще одна попытка захватить мир

- Сервис для запуска контейнеров и управления ими

6

Page 7: Docker for JS people

Что такое Docker?- Еще одна попытка захватить мир

- Сервис для запуска контейнеров и управления ими

- Пакетный менеджер нового типа для Linux

7

Page 8: Docker for JS people

Что такое Docker?- Еще одна попытка захватить мир

- Сервис для запуска контейнеров и управления ими

- Пакетный менеджер нового типа для Linux

- Уровень абстракции над сетью и диском

8

Page 9: Docker for JS people

Что такое Docker?- Еще одна попытка захватить мир

- Сервис для запуска контейнеров и управления ими

- Пакетный менеджер нового типа для Linux

- Уровень абстракции над сетью и диском

9

Page 10: Docker for JS people

Зачем Docker?- Еще одна попытка захватить мир

- Сервис для запуска контейнеров и управления ими

- Пакетный менеджер нового типа для Linux

- Уровень абстракции над сетью и диском

10

Page 11: Docker for JS people

Как работает Docker?- Описать процесс сборки образа

- Опубликовать образ в registry

- Скачать образ

- Запустить контейнер на базе образа

- Смонтировать каталоги и сделать мэппинг портов

11

Page 12: Docker for JS people

Оглавление- Что такое Docker (зачем?)

- Как не нужно использовать Docker

- Как нужно использовать Docker

- Экосистема вокруг Docker

12

Page 13: Docker for JS people

Как мы ходили в горы и упали- Phusion baseimage (“толстые” контейнеры)

13

Page 14: Docker for JS people

Как мы ходили в горы и упали- Phusion baseimage (“толстые” контейнеры)

- Изменяемые контейнеры

14

Page 15: Docker for JS people

Как мы ходили в горы и упали- Phusion baseimage (“толстые” контейнеры)

- Изменяемые контейнеры

- Разработка прямо внутри контейнера

15

Page 16: Docker for JS people

Как мы ходили в горы и упали- Phusion baseimage (“толстые” контейнеры)

- Изменяемые контейнеры

- Разработка прямо внутри контейнера

- Хранение состояния прямо внутри контейнера

16

Page 17: Docker for JS people

Состояние внутри контейнера- Медленно

17

Page 18: Docker for JS people

Состояние внутри контейнера- Медленно

- Печально

18

Page 19: Docker for JS people

Жизнь состоит из мелочей- AUFS

- BTRFS

- ZFS

- OverlayFS

- DM

19

Page 20: Docker for JS people

Жизнь состоит из мелочей- AUFS

- BTRFS

- ZFS

- OverlayFS

- DM

- “К черту подробности, город!”

20

Page 21: Docker for JS people

Жизнь состоит из мелочей- ext4

- XFS

- NFS

21

Page 22: Docker for JS people

Как мы ходили в горы и упали- Phusion baseimage (“толстые” контейнеры)

- Изменяемые контейнеры

- Разработка прямо внутри контейнера

- Хранение состояния прямо внутри контейнера

- Общая сеть на несколько хостов

22

Page 23: Docker for JS people

Оглавление- Что такое Docker (зачем?)

- Как не нужно использовать Docker

- Как нужно использовать Docker

- Экосистема вокруг Docker

23

Page 24: Docker for JS people

Это котик

24

Page 25: Docker for JS people

Ирландский пудинг- Один контейнер - одно приложение

25

Page 26: Docker for JS people

Ирландский пудинг- Один контейнер - одно приложение

- Файловая система внутри контейнера - read-only

26

Page 27: Docker for JS people

Ирландский пудинг- Один контейнер - одно приложение

- Файловая система внутри контейнера - read-only

- Если возможно - используйте сеть хоста

27

Page 28: Docker for JS people

Ирландский пудинг- Один контейнер - одно приложение

- Файловая система внутри контейнера - read-only

- Если возможно - используйте сеть хоста

- Пишите адские Dockerfiles с минимумом слоев

28

Page 29: Docker for JS people

Оглавление- Что такое Docker (зачем?)

- Как не нужно использовать Docker

- Как нужно использовать Docker

- Экосистема вокруг Docker

29

Page 30: Docker for JS people

Ваши кураторы в игре “Синий кит”- https://hub.docker.com

30

Page 31: Docker for JS people

Ваши кураторы в игре “Синий кит”- https://hub.docker.com

- Docker registry

31

Page 32: Docker for JS people

Ваши кураторы в игре “Синий кит”- https://hub.docker.com

- Docker registry

- Docker distribution

32

Page 33: Docker for JS people

Ваши кураторы в игре “Синий кит”- https://hub.docker.com

- Docker registry

- Docker distribution

- VMWare Harbor

33

Page 34: Docker for JS people

Ваши кураторы в игре “Синий кит”- https://hub.docker.com

- Docker registry

- Docker distribution

- VMWare Harbor

- ^ Запускается при помощи Docker Compose

34

Page 35: Docker for JS people

Docker Compose- Транслятор YAML-описания в набор связанных между

собой контейнеров

35

Page 36: Docker for JS people

Docker Compose- Транслятор YAML-описания в набор связанных между

собой контейнеров

- Управляет группой контейнеров как единым целым

36

Page 37: Docker for JS people

Docker Compose- Транслятор YAML-описания в набор связанных между

собой контейнеров

- Управляет группой контейнеров как единым целым

- Управляет сетями, дисками и портами

37

Page 38: Docker for JS people

Ваши вопросы?- [email protected]

- Skype, Telegram: demeliorator

- У меня есть канал в Telegram:

http://t.me/lhommequipleure

38

Page 39: Docker for JS people

Спасибо!

39