SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
Использование Docker
На работе и дома
Александр Чистяков,
главный инженер Git in Sky,
2015
Мы
§ Управляем инфраструктурами
§ Хотим управлять всеми инфраструктурами
§ Постоянно повышаем свою эффективность
§ Не боимся использовать новые средства
и технологии, если это оправдано
Использование Docker. 2015
Вы
§ Немного пишете на Python?
Использование Docker. 2015
Краткий курс истории партии
§ VMWare — 1999 год
§ Xen — 2003 год
§ KVM — 2007 год
§ Linux-VServer — 2001 год
§ OpenVZ — 2005 год
§ LXC — 2008 год
§ Docker — 2013 год
Использование Docker. 2015
Docker — это гриб и радиоволна
§ Средство управления системой виртуализации
§ Средство создания образов виртуальных
машин по декларативным описаниям
§ Средство публикации образов
§ Средство сокрытия абстракции сети
Использование Docker. 2015
Система виртуализации называется “cgroups”
§ Раньше Docker использовал LXC для управления
cgroups
§ Теперь — собственное средство libcontainer
§ Может также использовать libvirt, LXC и
systemd-nspawn
Использование Docker. 2015
Образы виртуальных машин
§ Описываются декларативно* через Dockerfile
§ Наследуются от единственного предка
(множественное наследование невозможно)
§ Публикуются на https://hub.docker.com или в частные
репозитории
§ Состоят из слоев
Использование Docker. 2015
Докеризация это не виртуализация!
§ В чем отличие классического OpenVZ- или LXC-контейнера от
Docker-контейнера:
§ Классические контейнеры это виртуальные машины целиком
§ Они не иммутабельны
§ (Точнее, средства управления ими не
поощряют пользователя создавать
иммутабельные структуры)
Использование Docker. 2015
Как выглядит список образов?
Использование Docker. 2015
Как выглядит Dockerfile?
Использование Docker. 2015
Как выглядит другой Dockerfile?
§ Хорошая практика — писать команды так, чтобы их было
невозможно прочесть
§ Это минимизирует количество слоев
Использование Docker. 2015
Все варианты storage не без проблем
§ AUFS — число слоев, ошибка stale NFS lock
§ BTRFS — сложный уход за файловой системой, нестабильная
работа
§ device-mapper — хранилище конечного размера
Использование Docker. 2015
device-mapper
Использование Docker. 2015
AUFS
Использование Docker. 2015
§ Кстати, в Ubuntu Docker версии 1.0.1, а в CentOS — 1.3.2
§
Публикация образов
§ docker push gitinsky/mysql
§ https://hub.docker.com
§ Когда я последний раз смотрел, код репозитория Docker был
написан на Python
§ Наверное, самое большое количество негативных отзывов в
интернете о Docker связано со скоростью и стабильностью
работы репозитория
§ Поэтому мы его не используем в продакшн
Использование Docker. 2015
Мы не используем репозиторий
§ А что вместо?
§ Сначала Ansible настраивает параметры хост-машины,
устанавливает Docker и собирает images
§ Примеры Ansible roles для этого:
§ https://github.com/gitinsky/ansible-role-nginx-proxy-dockerized
§ https://github.com/gitinsky/ansible-role-mysql-dockerized
§ Потом Ansible запускает контейнеры, если они не запущены
Использование Docker. 2015
Как это выглядит в конце?
§ Мы начали с использования baseimage от Phusion
§ И мигрируем в сторону подхода «один контейнер — одно
приложение»
Использование Docker. 2015
Где хранить состояние?
§ Во внешней по отношению к Docker storage локации
§ Каталог монтируется внутрь контейнера через bind mount
§ Как докеризовать приложение? Поселить его в контейнер и
вынести все его состояние на внешний том
§ https://flocker.io - volume manager для Docker на базе ZoL
Использование Docker. 2015
Как контейнеры связаны друг с другом?
§ Сеть полностью абстрагирована — я даже не знаю, какие у
контейнеров IP-адреса
§ Опция --link
§ Порядок запуска контейнеров становится важен!
Использование Docker. 2015
Задача оркестрации
§ Контейнеры должны распределяться по хостам внешними
механизмами и обеспечиваться ресурсами
§ Consul — service discovery tool
§ Key-value storage
§ DNS
§ Написан на Go
§ Регистрирует сервисы и позволяет их находить
Использование Docker. 2015
Project Atomic
§ Я использую продукты Red Hat c 1997-го года
§ Эти ребята умеют делать бизнес
§ Project Atomiс это:
§ rpm-ostree (атомарные апгрейды системы)
§ Docker
§ Kubernetes — orchestration tool от Google
§ Cockpit (панель управления на C и Python, не работает*)
Использование Docker. 2015
Выводы
§ Будущее уже наступило
§ На этот корабль еще можно успеть!
§ Мы используем Docker
§ И будем продолжать это делать
§ Чего и вам желаем
Использование Docker. 2015
С вами был Александр Чистяков,
главный инженер Git in Sky
alex@gitinsky.com
http://gitinsky.com
http://meetup.com/DevOps-40
Пожалуйста, ваши вопросы.
Спасибо за внимание!

Contenu connexe

Tendances

TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TК°Conf. Микросервисы и Docker. Глеб Паньшин.TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TК°Conf. Микросервисы и Docker. Глеб Паньшин.TKConf
 
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupДоклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupBadoo Development
 
Performance engineering stories from #fdminicon Saransk
Performance engineering stories from #fdminicon SaranskPerformance engineering stories from #fdminicon Saransk
Performance engineering stories from #fdminicon SaranskAlex Chistyakov
 
Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)Ontico
 
Депрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчасДепрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчасRuslan Sharipov
 
My talk on Hadoop stack operations engineering at OSPCon
My talk on Hadoop stack operations engineering at OSPConMy talk on Hadoop stack operations engineering at OSPCon
My talk on Hadoop stack operations engineering at OSPConAlex Chistyakov
 
Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»WrikeTechClub
 
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько разRootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько разTimur Batyrshin
 
My talk on LeoFS, Highload++ 2014
My talk on LeoFS, Highload++ 2014My talk on LeoFS, Highload++ 2014
My talk on LeoFS, Highload++ 2014Alex Chistyakov
 
Docker-контейнеризация: от local до production
Docker-контейнеризация: от local до productionDocker-контейнеризация: от local до production
Docker-контейнеризация: от local до productionRoman Kudlay
 
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationSQALab
 
Kolosov drupalconf2011 2_kolosov
Kolosov drupalconf2011 2_kolosovKolosov drupalconf2011 2_kolosov
Kolosov drupalconf2011 2_kolosovdrupalconf
 
Benchmarking PostgreSQL in Linux and FreeBSD
Benchmarking PostgreSQL in Linux and FreeBSDBenchmarking PostgreSQL in Linux and FreeBSD
Benchmarking PostgreSQL in Linux and FreeBSDAlex Chistyakov
 
Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?Anton Turetsky
 
Teach your dockers to use CRanes
Teach your dockers to use CRanesTeach your dockers to use CRanes
Teach your dockers to use CRanesPavel Emelyanov
 
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)Ontico
 

Tendances (20)

On Docker
On DockerOn Docker
On Docker
 
TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TК°Conf. Микросервисы и Docker. Глеб Паньшин.TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TК°Conf. Микросервисы и Docker. Глеб Паньшин.
 
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupДоклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
 
Performance engineering stories from #fdminicon Saransk
Performance engineering stories from #fdminicon SaranskPerformance engineering stories from #fdminicon Saransk
Performance engineering stories from #fdminicon Saransk
 
Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)
 
Депрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчасДепрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчас
 
Docker. Основы
Docker. ОсновыDocker. Основы
Docker. Основы
 
My talk on Hadoop stack operations engineering at OSPCon
My talk on Hadoop stack operations engineering at OSPConMy talk on Hadoop stack operations engineering at OSPCon
My talk on Hadoop stack operations engineering at OSPCon
 
Using Ansible
Using AnsibleUsing Ansible
Using Ansible
 
Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»
 
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько разRootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
 
My talk on LeoFS, Highload++ 2014
My talk on LeoFS, Highload++ 2014My talk on LeoFS, Highload++ 2014
My talk on LeoFS, Highload++ 2014
 
Docker-контейнеризация: от local до production
Docker-контейнеризация: от local до productionDocker-контейнеризация: от local до production
Docker-контейнеризация: от local до production
 
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous Integration
 
Kolosov drupalconf2011 2_kolosov
Kolosov drupalconf2011 2_kolosovKolosov drupalconf2011 2_kolosov
Kolosov drupalconf2011 2_kolosov
 
Benchmarking PostgreSQL in Linux and FreeBSD
Benchmarking PostgreSQL in Linux and FreeBSDBenchmarking PostgreSQL in Linux and FreeBSD
Benchmarking PostgreSQL in Linux and FreeBSD
 
Use Grunt Luke
Use Grunt LukeUse Grunt Luke
Use Grunt Luke
 
Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?
 
Teach your dockers to use CRanes
Teach your dockers to use CRanesTeach your dockers to use CRanes
Teach your dockers to use CRanes
 
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
 

En vedette

Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?Ruslan Sharipov
 
My talk on monitoring systems at RootConf 2016
My talk on monitoring systems at RootConf 2016My talk on monitoring systems at RootConf 2016
My talk on monitoring systems at RootConf 2016Alex Chistyakov
 
NoSQL — неспроста ли это "ЖЖЖ"?
NoSQL — неспроста ли это "ЖЖЖ"?NoSQL — неспроста ли это "ЖЖЖ"?
NoSQL — неспроста ли это "ЖЖЖ"?Daniel Podolsky
 
My talk on administering PostgreSQL
My talk on administering PostgreSQLMy talk on administering PostgreSQL
My talk on administering PostgreSQLAlex Chistyakov
 
Кратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русскиКратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русскиOSLL
 
Mind Mapping, или как заставить свой мозг работать лучше
Mind Mapping, или как заставить свой мозг работать лучшеMind Mapping, или как заставить свой мозг работать лучше
Mind Mapping, или как заставить свой мозг работать лучшеGetDev.NET
 
My talk on PgDay Russia 2014
My talk on PgDay Russia 2014My talk on PgDay Russia 2014
My talk on PgDay Russia 2014Alex Chistyakov
 
My talk on Graphite stack on 58it.ru
My talk on Graphite stack on 58it.ruMy talk on Graphite stack on 58it.ru
My talk on Graphite stack on 58it.ruAlex Chistyakov
 
My talk on using LVM thin provisioning from SPbLUG/DevOps-40 meetup 25.06.14
My talk on using LVM thin provisioning from SPbLUG/DevOps-40 meetup 25.06.14My talk on using LVM thin provisioning from SPbLUG/DevOps-40 meetup 25.06.14
My talk on using LVM thin provisioning from SPbLUG/DevOps-40 meetup 25.06.14Alex Chistyakov
 
Why we did not choose Hadoop
Why we did not choose HadoopWhy we did not choose Hadoop
Why we did not choose HadoopSerguei Gitinsky
 
Управление рисками при эксплуатации ИТ-инфраструктуры
Управление рисками при эксплуатации ИТ-инфраструктурыУправление рисками при эксплуатации ИТ-инфраструктуры
Управление рисками при эксплуатации ИТ-инфраструктурыSerguei Gitinsky
 
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
"Мы два месяца долбались, а потом построили индекс" (c) АксеновAlex Chistyakov
 
My talk on Piter Py 2016
My talk on Piter Py 2016My talk on Piter Py 2016
My talk on Piter Py 2016Alex Chistyakov
 
My talk from PgConf.Russia 2016
My talk from PgConf.Russia 2016My talk from PgConf.Russia 2016
My talk from PgConf.Russia 2016Alex Chistyakov
 
Tk conf daniel-podolsky-sqlvsnosql
Tk conf daniel-podolsky-sqlvsnosqlTk conf daniel-podolsky-sqlvsnosql
Tk conf daniel-podolsky-sqlvsnosqlDaniel Podolsky
 
My talk at Linux Piter 2015
My talk at Linux Piter 2015My talk at Linux Piter 2015
My talk at Linux Piter 2015Alex Chistyakov
 

En vedette (17)

Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?
 
My talk on monitoring systems at RootConf 2016
My talk on monitoring systems at RootConf 2016My talk on monitoring systems at RootConf 2016
My talk on monitoring systems at RootConf 2016
 
NoSQL — неспроста ли это "ЖЖЖ"?
NoSQL — неспроста ли это "ЖЖЖ"?NoSQL — неспроста ли это "ЖЖЖ"?
NoSQL — неспроста ли это "ЖЖЖ"?
 
My talk on administering PostgreSQL
My talk on administering PostgreSQLMy talk on administering PostgreSQL
My talk on administering PostgreSQL
 
Кратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русскиКратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русски
 
Mind Mapping, или как заставить свой мозг работать лучше
Mind Mapping, или как заставить свой мозг работать лучшеMind Mapping, или как заставить свой мозг работать лучше
Mind Mapping, или как заставить свой мозг работать лучше
 
My talk on PgDay Russia 2014
My talk on PgDay Russia 2014My talk on PgDay Russia 2014
My talk on PgDay Russia 2014
 
My talk on Graphite stack on 58it.ru
My talk on Graphite stack on 58it.ruMy talk on Graphite stack on 58it.ru
My talk on Graphite stack on 58it.ru
 
My talk on using LVM thin provisioning from SPbLUG/DevOps-40 meetup 25.06.14
My talk on using LVM thin provisioning from SPbLUG/DevOps-40 meetup 25.06.14My talk on using LVM thin provisioning from SPbLUG/DevOps-40 meetup 25.06.14
My talk on using LVM thin provisioning from SPbLUG/DevOps-40 meetup 25.06.14
 
Why we did not choose Hadoop
Why we did not choose HadoopWhy we did not choose Hadoop
Why we did not choose Hadoop
 
Управление рисками при эксплуатации ИТ-инфраструктуры
Управление рисками при эксплуатации ИТ-инфраструктурыУправление рисками при эксплуатации ИТ-инфраструктуры
Управление рисками при эксплуатации ИТ-инфраструктуры
 
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
 
My talk on Piter Py 2016
My talk on Piter Py 2016My talk on Piter Py 2016
My talk on Piter Py 2016
 
My talk from PgConf.Russia 2016
My talk from PgConf.Russia 2016My talk from PgConf.Russia 2016
My talk from PgConf.Russia 2016
 
Tk conf daniel-podolsky-sqlvsnosql
Tk conf daniel-podolsky-sqlvsnosqlTk conf daniel-podolsky-sqlvsnosql
Tk conf daniel-podolsky-sqlvsnosql
 
My talk at Linux Piter 2015
My talk at Linux Piter 2015My talk at Linux Piter 2015
My talk at Linux Piter 2015
 
Docker In Bank Unrated
Docker In Bank UnratedDocker In Bank Unrated
Docker In Bank Unrated
 

Similaire à My talk on Docker from Moscow Django Meetup #25

Codeception + Docker + Robo и что из этого вышло
Codeception + Docker + Robo и что из этого вышлоCodeception + Docker + Robo и что из этого вышло
Codeception + Docker + Robo и что из этого вышлоCOMAQA.BY
 
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationCOMAQA.BY
 
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
 
OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиAndrey Markelov
 
Dev ops.events.v tymoshyk-20-oct-2016
Dev ops.events.v tymoshyk-20-oct-2016Dev ops.events.v tymoshyk-20-oct-2016
Dev ops.events.v tymoshyk-20-oct-2016Vad Tymoshyk
 
OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStackRussia
 
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальноеОмские ИТ-субботники
 
Как не стать рабом облака. PaaS 2.0 с Docker
Как не стать рабом облака. PaaS 2.0 с DockerКак не стать рабом облака. PaaS 2.0 с Docker
Как не стать рабом облака. PaaS 2.0 с Dockertrukhinyuri
 
Локальное окружение на Docker
Локальное окружение на DockerЛокальное окружение на Docker
Локальное окружение на DockerМихаил Бакулин
 
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. ВнутренностиSPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. ВнутренностиOleg Nenashev
 
Окружение разработчика - от виртуализации к контейнеризации
Окружение разработчика - от виртуализации к контейнеризацииОкружение разработчика - от виртуализации к контейнеризации
Окружение разработчика - от виртуализации к контейнеризацииAlexander Kirillov
 
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs..."How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...Provectus
 
RHEL 7. Контейнеры и Docker
RHEL 7. Контейнеры и DockerRHEL 7. Контейнеры и Docker
RHEL 7. Контейнеры и DockerAndrey Markelov
 
Зачем мне docker, я же сисадмин?!
Зачем мне docker, я же сисадмин?!Зачем мне docker, я же сисадмин?!
Зачем мне docker, я же сисадмин?!Byndyusoft
 
Docker и оркетсрация контейнеров в облаке Azure
Docker и оркетсрация контейнеров в облаке AzureDocker и оркетсрация контейнеров в облаке Azure
Docker и оркетсрация контейнеров в облаке AzureStas Pavlov
 
Процесс разработки и тестирования с Docker + gitlab ci
Процесс разработки и тестирования с  Docker + gitlab ciПроцесс разработки и тестирования с  Docker + gitlab ci
Процесс разработки и тестирования с Docker + gitlab ciАлександр Сигачев
 
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Ontico
 
Jelastic PaaS for DevOps: Hybrid Cloud based on Microsoft Azure
Jelastic PaaS for DevOps: Hybrid Cloud based on Microsoft AzureJelastic PaaS for DevOps: Hybrid Cloud based on Microsoft Azure
Jelastic PaaS for DevOps: Hybrid Cloud based on Microsoft AzureDmitry Lazarenko
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годAnton Turetsky
 

Similaire à My talk on Docker from Moscow Django Meetup #25 (20)

Codeception + Docker + Robo и что из этого вышло
Codeception + Docker + Robo и что из этого вышлоCodeception + Docker + Robo и что из этого вышло
Codeception + Docker + Robo и что из этого вышло
 
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous Integration
 
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"
 
OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельности
 
Dev ops.events.v tymoshyk-20-oct-2016
Dev ops.events.v tymoshyk-20-oct-2016Dev ops.events.v tymoshyk-20-oct-2016
Dev ops.events.v tymoshyk-20-oct-2016
 
OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельности
 
Docker&Azure
Docker&AzureDocker&Azure
Docker&Azure
 
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
 
Как не стать рабом облака. PaaS 2.0 с Docker
Как не стать рабом облака. PaaS 2.0 с DockerКак не стать рабом облака. PaaS 2.0 с Docker
Как не стать рабом облака. PaaS 2.0 с Docker
 
Локальное окружение на Docker
Локальное окружение на DockerЛокальное окружение на Docker
Локальное окружение на Docker
 
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. ВнутренностиSPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
 
Окружение разработчика - от виртуализации к контейнеризации
Окружение разработчика - от виртуализации к контейнеризацииОкружение разработчика - от виртуализации к контейнеризации
Окружение разработчика - от виртуализации к контейнеризации
 
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs..."How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
 
RHEL 7. Контейнеры и Docker
RHEL 7. Контейнеры и DockerRHEL 7. Контейнеры и Docker
RHEL 7. Контейнеры и Docker
 
Зачем мне docker, я же сисадмин?!
Зачем мне docker, я же сисадмин?!Зачем мне docker, я же сисадмин?!
Зачем мне docker, я же сисадмин?!
 
Docker и оркетсрация контейнеров в облаке Azure
Docker и оркетсрация контейнеров в облаке AzureDocker и оркетсрация контейнеров в облаке Azure
Docker и оркетсрация контейнеров в облаке Azure
 
Процесс разработки и тестирования с Docker + gitlab ci
Процесс разработки и тестирования с  Docker + gitlab ciПроцесс разработки и тестирования с  Docker + gitlab ci
Процесс разработки и тестирования с Docker + gitlab ci
 
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
 
Jelastic PaaS for DevOps: Hybrid Cloud based on Microsoft Azure
Jelastic PaaS for DevOps: Hybrid Cloud based on Microsoft AzureJelastic PaaS for DevOps: Hybrid Cloud based on Microsoft Azure
Jelastic PaaS for DevOps: Hybrid Cloud based on Microsoft Azure
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
 

Plus de Alex Chistyakov

My slides from DevOpsDays 2019
My slides from DevOpsDays 2019My slides from DevOpsDays 2019
My slides from DevOpsDays 2019Alex Chistyakov
 
My slides from BMM №3 May 2019
My slides from BMM №3 May 2019My slides from BMM №3 May 2019
My slides from BMM №3 May 2019Alex Chistyakov
 
My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019 My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019 Alex Chistyakov
 
My slides from SECR'2018
My slides from SECR'2018My slides from SECR'2018
My slides from SECR'2018Alex Chistyakov
 
My slides from the first SPb SRE community meetup at DataArt
My slides from the first SPb SRE community meetup at DataArtMy slides from the first SPb SRE community meetup at DataArt
My slides from the first SPb SRE community meetup at DataArtAlex Chistyakov
 
My slides from BMM №4 Nov 2019
My slides from BMM №4 Nov 2019My slides from BMM №4 Nov 2019
My slides from BMM №4 Nov 2019Alex Chistyakov
 
My slides from DevOps-40 meetup Oct 2019
My slides from DevOps-40 meetup Oct 2019My slides from DevOps-40 meetup Oct 2019
My slides from DevOps-40 meetup Oct 2019Alex Chistyakov
 
My slides from DevOps-40 meetup Dec 2019
My slides from DevOps-40 meetup Dec 2019My slides from DevOps-40 meetup Dec 2019
My slides from DevOps-40 meetup Dec 2019Alex Chistyakov
 
Configuration management and Kubernetes
Configuration management and KubernetesConfiguration management and Kubernetes
Configuration management and KubernetesAlex Chistyakov
 
Python performance engineering in 2017
Python performance engineering in 2017Python performance engineering in 2017
Python performance engineering in 2017Alex Chistyakov
 
My talk at SPb SQA sub-meetup of ITGM
My talk at SPb SQA sub-meetup of ITGMMy talk at SPb SQA sub-meetup of ITGM
My talk at SPb SQA sub-meetup of ITGMAlex Chistyakov
 
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017Alex Chistyakov
 
My talk on GitHub open data at ITGM #10
 My talk on GitHub open data at ITGM #10 My talk on GitHub open data at ITGM #10
My talk on GitHub open data at ITGM #10Alex Chistyakov
 
My talk on DevOps :) at Stachka 2017
My talk on DevOps :) at Stachka 2017My talk on DevOps :) at Stachka 2017
My talk on DevOps :) at Stachka 2017Alex Chistyakov
 
My talk on programming languages at SPbLUG Mar 2017
My talk on programming languages at SPbLUG Mar 2017My talk on programming languages at SPbLUG Mar 2017
My talk on programming languages at SPbLUG Mar 2017Alex Chistyakov
 

Plus de Alex Chistyakov (20)

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

Dernier (9)

Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 

My talk on Docker from Moscow Django Meetup #25

  • 1. Использование Docker На работе и дома Александр Чистяков, главный инженер Git in Sky, 2015
  • 2. Мы § Управляем инфраструктурами § Хотим управлять всеми инфраструктурами § Постоянно повышаем свою эффективность § Не боимся использовать новые средства и технологии, если это оправдано Использование Docker. 2015
  • 3. Вы § Немного пишете на Python? Использование Docker. 2015
  • 4. Краткий курс истории партии § VMWare — 1999 год § Xen — 2003 год § KVM — 2007 год § Linux-VServer — 2001 год § OpenVZ — 2005 год § LXC — 2008 год § Docker — 2013 год Использование Docker. 2015
  • 5. Docker — это гриб и радиоволна § Средство управления системой виртуализации § Средство создания образов виртуальных машин по декларативным описаниям § Средство публикации образов § Средство сокрытия абстракции сети Использование Docker. 2015
  • 6. Система виртуализации называется “cgroups” § Раньше Docker использовал LXC для управления cgroups § Теперь — собственное средство libcontainer § Может также использовать libvirt, LXC и systemd-nspawn Использование Docker. 2015
  • 7. Образы виртуальных машин § Описываются декларативно* через Dockerfile § Наследуются от единственного предка (множественное наследование невозможно) § Публикуются на https://hub.docker.com или в частные репозитории § Состоят из слоев Использование Docker. 2015
  • 8. Докеризация это не виртуализация! § В чем отличие классического OpenVZ- или LXC-контейнера от Docker-контейнера: § Классические контейнеры это виртуальные машины целиком § Они не иммутабельны § (Точнее, средства управления ими не поощряют пользователя создавать иммутабельные структуры) Использование Docker. 2015
  • 9. Как выглядит список образов? Использование Docker. 2015
  • 11. Как выглядит другой Dockerfile? § Хорошая практика — писать команды так, чтобы их было невозможно прочесть § Это минимизирует количество слоев Использование Docker. 2015
  • 12. Все варианты storage не без проблем § AUFS — число слоев, ошибка stale NFS lock § BTRFS — сложный уход за файловой системой, нестабильная работа § device-mapper — хранилище конечного размера Использование Docker. 2015
  • 14. AUFS Использование Docker. 2015 § Кстати, в Ubuntu Docker версии 1.0.1, а в CentOS — 1.3.2 §
  • 15. Публикация образов § docker push gitinsky/mysql § https://hub.docker.com § Когда я последний раз смотрел, код репозитория Docker был написан на Python § Наверное, самое большое количество негативных отзывов в интернете о Docker связано со скоростью и стабильностью работы репозитория § Поэтому мы его не используем в продакшн Использование Docker. 2015
  • 16. Мы не используем репозиторий § А что вместо? § Сначала Ansible настраивает параметры хост-машины, устанавливает Docker и собирает images § Примеры Ansible roles для этого: § https://github.com/gitinsky/ansible-role-nginx-proxy-dockerized § https://github.com/gitinsky/ansible-role-mysql-dockerized § Потом Ansible запускает контейнеры, если они не запущены Использование Docker. 2015
  • 17. Как это выглядит в конце? § Мы начали с использования baseimage от Phusion § И мигрируем в сторону подхода «один контейнер — одно приложение» Использование Docker. 2015
  • 18. Где хранить состояние? § Во внешней по отношению к Docker storage локации § Каталог монтируется внутрь контейнера через bind mount § Как докеризовать приложение? Поселить его в контейнер и вынести все его состояние на внешний том § https://flocker.io - volume manager для Docker на базе ZoL Использование Docker. 2015
  • 19. Как контейнеры связаны друг с другом? § Сеть полностью абстрагирована — я даже не знаю, какие у контейнеров IP-адреса § Опция --link § Порядок запуска контейнеров становится важен! Использование Docker. 2015
  • 20. Задача оркестрации § Контейнеры должны распределяться по хостам внешними механизмами и обеспечиваться ресурсами § Consul — service discovery tool § Key-value storage § DNS § Написан на Go § Регистрирует сервисы и позволяет их находить Использование Docker. 2015
  • 21. Project Atomic § Я использую продукты Red Hat c 1997-го года § Эти ребята умеют делать бизнес § Project Atomiс это: § rpm-ostree (атомарные апгрейды системы) § Docker § Kubernetes — orchestration tool от Google § Cockpit (панель управления на C и Python, не работает*) Использование Docker. 2015
  • 22. Выводы § Будущее уже наступило § На этот корабль еще можно успеть! § Мы используем Docker § И будем продолжать это делать § Чего и вам желаем Использование Docker. 2015
  • 23. С вами был Александр Чистяков, главный инженер Git in Sky alex@gitinsky.com http://gitinsky.com http://meetup.com/DevOps-40 Пожалуйста, ваши вопросы. Спасибо за внимание!