SlideShare a Scribd company logo
контейнерная революция
GetDev.Net
План
● Docker как тренд
● Зачем нужен Docker?
● Hypervisor vs. Container
● Контейнеры на Linux: почему Docker выстрелил?
● Демо!
● Docker на Windows и другое
Docker как тренд
*
Docker как тренд
Docker как тренд
Docker как тренд: GitHub
>23K GitHub repos*
*Сегодня больше vs. >43K “angular”, >61K “jquery”
Docker как тренд: Microsoft Azure
http://azure.microsoft.com/blog/2014/10/15/new-windows-server-containers-and-azure-support-for-docker/
Docker как тренд: “New Java”
http://blogs.gartner.com/david_m_smith/2014/10/21/docker-is-the-new-java/
Проблема
Развёртывание (deploy) приложений
сложнее, чем могло бы быть
http://localhost
http://продакшон.ru
http://продакшон.ru
Что хочется
Придумать волшебную кнопку:
“Опубликовать приложние где угодно”
“To build the ‘button’ that enables any application to be built and
deployed on any server, anywhere.”
Выдержки из
http://www.slideshare.net/dotCloud/why-docker
Проблема
Проблема (matrix of doom)
Проблема (аналогия)
Проблема (matrix of doom)
Проблема
А если вы на него бочку
катите, то это уже...
Решение: контейнеризация
Решение: контейнеризация
Почему бы не поступить так же с софтом?
Решение: Docker
Продолжаем аналогию
Грузовой контейнер Software container
Любое
наполнение
Содержит любой груз Содержит любые приложения
Любое место Склад, поезд, порт, корабль,
самолет, прицеп...
Ноутбук, VM, IaaS,выделенный
сервер, VPS, private cloud...
Изоляция Можно ставить наковальни на
бананы
Предотвращение конфликтов
библиотек и окружения
Эффективность Единые стандарты: известно как хранить и “двигать”
Разделение
обязанностей
Отправителю важен груз,
перевозчику - доставка
Разработчику важен код,
оператору - инфраструктура
Виртуальные машины?
VM: суть
Жир!
App 1 App 1’ App 2
Env 1 Env 1 Env 2
Гостевая ОС Гостевая ОС Гостевая ОС
ОС + гипервизор / аппаратный гипервизор
Железо
Полезная
нагрузка
VM: минусы
● Долгий старт
● Потребление ресурсов ⇨ низкая плотность
● Гостевая ОС думает, что она самая главная
● Невозможность каскадирования (nested VM)
● Накладные расходы: 5-15%
VM: суть
“Our cloud-based IT world is founded on hypervisors. It doesn’t have to be
that way – and, some say, it shouldn’t be. Containers can deliver more
services using the same hardware you’re now using for virtual machines”
http://blog.smartbear.com/web-monitoring/why-containers-instead-of-hypervisors/
Контейнеры: легкая виртуализация
App 1 App 1’ App 2
Env 1 Env 1 Env 2
Гостевая
ОС
Гостевая
ОС
Гостевая
ОС
ОС + гипервизор
Железо
A1 A1’ A1’
A2 A2’
A3 A3’ A3’
Extra libs
Env 1 Env 2
ОС + tools
Железо
Контейнеры — не новость
● Применяются уже лет 15
● chroot
● UNIX: Solaris zones, BSD jails, AIX WRAPS
● Windows: iCore Virtual Accounts, Parallels Containers
● Linux: Virtuozzo ⇨ OpenVZ, Linux V-Server, LXC, docker
Контейнеры — не новость
● Применяются уже лет 15
● chroot
● UNIX: Solaris zones, BSD jails, AIX WRAPS
● Windows: iCore Virtual Accounts, Parallels Containers
● Linux: Virtuozzo ⇨ OpenVZ, Linux V-Server, LXC, docker
THE FOLLOWING SLIDES CONTAIN
COARSE LANGUAGE -- INCLUDING
BUT NOT LIMITED TO “LINUX”,
“KERNEL”, “CONSOLE” -- AND DUE TO
THEIR CONTENTS SHOULD NOT BE
VIEWED BY ANYONE ■
История контейнеров в Linux
2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014
mount namespaces
Virtuozzo (custom kernel) OpenVZ
cgroups
LXC
docker
kernel 3.8
rocket
(redesign)
namespaces
раннее средневековье возрождение новое время
уменьшение patchset-а
Kernel namespaces & cgroups
namespaces (pid, net, ipc, mnt, uts, user) —
изоляция процессов
cgroups — учёт и ограничение потребляемых ресурсов
Являются встроенными низкоуровневыми фишками (примитивами) ядра
+ AppArmor, SELinux, capabilities, GRSEC, PAX,... (security)
Kernel namespaces & cgroups
Ядро (Linux kernel)
Обычные процессы ns1
/, eth0, 2CPU, 1GB
1 Ruby 1.9.3
2 nginx 1.7
3 MySQL 5.3
1 init
2 cron
3 sshd
4 ntp
...
ns2
/, eth0, 1CPU, 512MB
1 Ruby 1.9.1
2 nginx 1.4
3 MySQL 5.0
OpenVZ vs. LXC vs. Docker vs. X
● Мощные production-ready инструменты
● Умеют делать всё что нужно (плюс-минус нюансы)
● Спрашивать, кто лучше = holywar
http://ru-openvz.livejournal.com/1970.html
Но почему Docker так выстрелил?
Docker, кто же ты?
● Сам не является технологией контейнеризации
● Поддерживает разные среды выполнения
● Docker — система упаковки и доставки приложений
“Pack, ship, and run any application as a lightweight, portable, self-sufficient
container that runs virtually anywhere” (James Bottomley, CTO, Parallels)
http://stackoverflow.com/q/17989306
Docker
execution drivers
до версии 0.9
Docker - обёртка над
LXC
начиная с 0.9
введена абстракция
среды выполнения
Docker: application-centric
Цель — не создать изолированное
окружение (“легковесную виртуалку”), а
запустить приложение
“Докеризация” (dockerizing) — приведение приложения
к виду, пригодному для запуска в Docker-контейнере
Docker: versioning, reuse, sharing
Многослойная файловая система (union mount: AUFS и
др.) в совокупности с copy-on-write делает контейнеры
похожими на git-репозитории: ревизии, тэги, commit,
history, registry, pull, push, base image, DockerHub
Docker: versioning, reuse, sharing
scratch
ubuntu 14.04
mono 3.10
debian 7
mysql 5.5
ubuntu 14.04
apache2
php 5.5
wordpress1
mysql 5.5
mono 3.10 asp-vNext super-app
registry
db1
app1
app2
pull
pull
pull
Docker: versioning, reuse, sharing
Union mount, copy-on-write, AUFS, layers, ...
Docker: versioning, reuse, sharing
Union mount, copy-on-write, AUFS, layers, ...
● Образ как VCS
● Экономия места
● Быстрый
перенос/deploy
● Экономия памяти
(“buffer cache is happy”)
Docker: versioning, reuse, sharing
Docker: automated build
# Dockerfile
FROM ubuntu:14.04
ENV opa=123 key=eprst
RUN apt-get install -y mysql-server
ADD start.sh /
CMD [ “/start.sh” ]
Docker: deployment, tools
● Командная строка
● RESTful API
● импорт/экспорт образов, единый формат!
● Управление кластерами: compose, machine, swarm
● Поколение специальных ОС: Boot2Docker, CoreOS,
Ubuntu Snappy, Project Atomic
Демонстрация
Docker на Windows?
15 октября 2014 Microsoft и Docker сообщают о стратегическом
сотрудничестве
Docker на Windows: обещания
#1 В следующий Windows Server (Q3 2015) будут
добавлены аналоги namespaces/cgroups
Docker PR: “a Microsoft led initiative to add container capabilities (e.g. the
equivalent of namespaces and cgroups) to Windows”
Docker Roadmap: “The next Microsoft Windows Server will ship with
primitives to support container-based process isolation and resource
management”
Docker на Windows: обещания
#2 Docker будет работать нативно под Windows
Docker PR: “a new Docker Windows Daemon, which will be built in open
source under the aegis and governance of the Docker project”
Microsoft PR: “Docker Engine, the open source runtime that builds, runs and
orchestrates containers, will work with the next release of Windows Server”
Docker на Windows: обещания
#2 Docker будет работать нативно под Windows
Docker на Windows: обещания
Клиентская часть docker.exe уже работает
TechEd EU 2014 Keynote, Марк Русси́нович (CTO, Azure)
http://youtu.be/ktrEh0rA9DY?t=1h19m46s
Docker на Windows: обещания
#3 Мультиконтейнерные приложения: Windows и Linux
Docker PR: “The overall Docker platform, which will also be extended (in the
open) to support both the Docker Windows Daemon and the Docker Linux
Daemon”
Microsoft PR: “Microsoft has also announced its contribution to Docker’s open
orchestration APIs, ensuring portability for multicontainer applications”
Docker на Windows: обещания
#3 Мультиконтейнерные приложения: Windows и Linux
Docker на Windows: сегодня
● Внутри виртуальной машины общего назначения
● Boot2Docker (спец. образ VirtualBox)
Другие важные аспекты
● Один процесс или много процессов?
● Как связывать контейнеры?
● Монтирование томов
● Image trust
● Что делать с логами?
● Как ограничивать ресурсы (CPU, RAM)?
Docker контейнерная революция

More Related Content

What's hot

TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TК°Conf. Микросервисы и Docker. Глеб Паньшин.TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TKConf
 
Кратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русскиКратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русски
OSLL
 
Docker 1.9
Docker 1.9Docker 1.9
Депрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчасДепрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчас
Ruslan Sharipov
 
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupДоклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Badoo Development
 
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
 
Тестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на DockerТестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на Docker
Anton Maksimov
 
OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельности
Andrey Markelov
 
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
 
Как не стать рабом облака. PaaS 2.0 с Docker
Как не стать рабом облака. PaaS 2.0 с DockerКак не стать рабом облака. PaaS 2.0 с Docker
Как не стать рабом облака. PaaS 2.0 с Docker
trukhinyuri
 
Процесс разработки и тестирования с Docker + gitlab ci
Процесс разработки и тестирования с  Docker + gitlab ciПроцесс разработки и тестирования с  Docker + gitlab ci
Процесс разработки и тестирования с Docker + gitlab ci
Александр Сигачев
 
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
 
RHEL 7. Контейнеры и Docker
RHEL 7. Контейнеры и DockerRHEL 7. Контейнеры и Docker
RHEL 7. Контейнеры и Docker
Andrey Markelov
 
Jenkins в docker in mesos in ...
Jenkins в docker in mesos in ...Jenkins в docker in mesos in ...
Jenkins в docker in mesos in ...
Кирилл Толкачёв
 
Docker с чем едят и для чего используют
Docker с чем едят и для чего используютDocker с чем едят и для чего используют
Docker с чем едят и для чего используют
ITCrowd Almaty
 
Docker: from understanding to production
Docker: from understanding to productionDocker: from understanding to production
Docker: from understanding to production
Anton Turetsky
 
Docker Containers orchestrators: Kubernetes vs. Swarm
Docker Containers orchestrators: Kubernetes vs. SwarmDocker Containers orchestrators: Kubernetes vs. Swarm
Docker Containers orchestrators: Kubernetes vs. Swarm
Dmitry Lazarenko
 
Непрерывная интеграция Python-проектов в Яндексе
Непрерывная интеграция Python-проектов в ЯндексеНепрерывная интеграция Python-проектов в Яндексе
Непрерывная интеграция Python-проектов в Яндексе
Andrey Kazarinov
 
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)
Александр Сигачев
 
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
Омские ИТ-субботники
 

What's hot (20)

TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TК°Conf. Микросервисы и Docker. Глеб Паньшин.TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TК°Conf. Микросервисы и Docker. Глеб Паньшин.
 
Кратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русскиКратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русски
 
Docker 1.9
Docker 1.9Docker 1.9
Docker 1.9
 
Депрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчасДепрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчас
 
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupДоклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
 
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
 
Тестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на DockerТестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на Docker
 
OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельности
 
Teach your dockers to use CRanes
Teach your dockers to use CRanesTeach your dockers to use CRanes
Teach your dockers to use CRanes
 
Как не стать рабом облака. PaaS 2.0 с Docker
Как не стать рабом облака. PaaS 2.0 с DockerКак не стать рабом облака. PaaS 2.0 с Docker
Как не стать рабом облака. PaaS 2.0 с Docker
 
Процесс разработки и тестирования с Docker + gitlab ci
Процесс разработки и тестирования с  Docker + gitlab ciПроцесс разработки и тестирования с  Docker + gitlab ci
Процесс разработки и тестирования с Docker + gitlab ci
 
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. Внутренности
 
RHEL 7. Контейнеры и Docker
RHEL 7. Контейнеры и DockerRHEL 7. Контейнеры и Docker
RHEL 7. Контейнеры и Docker
 
Jenkins в docker in mesos in ...
Jenkins в docker in mesos in ...Jenkins в docker in mesos in ...
Jenkins в docker in mesos in ...
 
Docker с чем едят и для чего используют
Docker с чем едят и для чего используютDocker с чем едят и для чего используют
Docker с чем едят и для чего используют
 
Docker: from understanding to production
Docker: from understanding to productionDocker: from understanding to production
Docker: from understanding to production
 
Docker Containers orchestrators: Kubernetes vs. Swarm
Docker Containers orchestrators: Kubernetes vs. SwarmDocker Containers orchestrators: Kubernetes vs. Swarm
Docker Containers orchestrators: Kubernetes vs. Swarm
 
Непрерывная интеграция Python-проектов в Яндексе
Непрерывная интеграция Python-проектов в ЯндексеНепрерывная интеграция Python-проектов в Яндексе
Непрерывная интеграция Python-проектов в Яндексе
 
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)
 
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
 

Viewers also liked

Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Ontico
 
Mind Mapping, или как заставить свой мозг работать лучше
Mind Mapping, или как заставить свой мозг работать лучшеMind Mapping, или как заставить свой мозг работать лучше
Mind Mapping, или как заставить свой мозг работать лучше
GetDev.NET
 
Docker In Bank Unrated
Docker In Bank UnratedDocker In Bank Unrated
Docker In Bank Unrated
Aleksandr Tarasov
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
dotCloud
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker, Inc.
 
Web Client Performance
Web Client PerformanceWeb Client Performance
Web Client Performance
GetDev.NET
 
Enabling Docker Applications on OpenStack (using Murano)
Enabling Docker Applications on OpenStack (using Murano) Enabling Docker Applications on OpenStack (using Murano)
Enabling Docker Applications on OpenStack (using Murano)
Mirantis IT Russia
 
Chingis Sandanov. Container virtualization
Chingis Sandanov. Container virtualizationChingis Sandanov. Container virtualization
Chingis Sandanov. Container virtualization
DrupalSib
 
2. Vagin. Linux containers. June 01, 2013
2. Vagin. Linux containers. June 01, 20132. Vagin. Linux containers. June 01, 2013
2. Vagin. Linux containers. June 01, 2013
ru-fedora-moscow-2013
 
Docker в виртуальной среде VMware
Docker в виртуальной среде VMwareDocker в виртуальной среде VMware
Docker в виртуальной среде VMware
Andrey Konovalov
 
JMeter, Docker sitting in a tree
JMeter, Docker sitting in a treeJMeter, Docker sitting in a tree
JMeter, Docker sitting in a tree
srivaths_sankaran
 
Testing with Docker
Testing with DockerTesting with Docker
Testing with Docker
toffermann
 
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous Integration
COMAQA.BY
 
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Ontico
 
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous Integration
SQALab
 
Comprehensive Monitoring for Docker
Comprehensive Monitoring for DockerComprehensive Monitoring for Docker
Comprehensive Monitoring for Docker
Christian Beedgen
 
Docker Started
Docker StartedDocker Started
Docker Started
Victor S. Recio
 
Использование Hadoop в Badoo, Валерий Старынин (Badoo)
Использование Hadoop в Badoo, Валерий Старынин (Badoo)Использование Hadoop в Badoo, Валерий Старынин (Badoo)
Использование Hadoop в Badoo, Валерий Старынин (Badoo)
Badoo Development
 
Mastering JIRA Workflow - Atlassian Summit 2010
Mastering JIRA Workflow - Atlassian Summit 2010Mastering JIRA Workflow - Atlassian Summit 2010
Mastering JIRA Workflow - Atlassian Summit 2010
Atlassian
 

Viewers also liked (19)

Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
 
Mind Mapping, или как заставить свой мозг работать лучше
Mind Mapping, или как заставить свой мозг работать лучшеMind Mapping, или как заставить свой мозг работать лучше
Mind Mapping, или как заставить свой мозг работать лучше
 
Docker In Bank Unrated
Docker In Bank UnratedDocker In Bank Unrated
Docker In Bank Unrated
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
 
Web Client Performance
Web Client PerformanceWeb Client Performance
Web Client Performance
 
Enabling Docker Applications on OpenStack (using Murano)
Enabling Docker Applications on OpenStack (using Murano) Enabling Docker Applications on OpenStack (using Murano)
Enabling Docker Applications on OpenStack (using Murano)
 
Chingis Sandanov. Container virtualization
Chingis Sandanov. Container virtualizationChingis Sandanov. Container virtualization
Chingis Sandanov. Container virtualization
 
2. Vagin. Linux containers. June 01, 2013
2. Vagin. Linux containers. June 01, 20132. Vagin. Linux containers. June 01, 2013
2. Vagin. Linux containers. June 01, 2013
 
Docker в виртуальной среде VMware
Docker в виртуальной среде VMwareDocker в виртуальной среде VMware
Docker в виртуальной среде VMware
 
JMeter, Docker sitting in a tree
JMeter, Docker sitting in a treeJMeter, Docker sitting in a tree
JMeter, Docker sitting in a tree
 
Testing with Docker
Testing with DockerTesting with Docker
Testing with Docker
 
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous Integration
 
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
 
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous Integration
 
Comprehensive Monitoring for Docker
Comprehensive Monitoring for DockerComprehensive Monitoring for Docker
Comprehensive Monitoring for Docker
 
Docker Started
Docker StartedDocker Started
Docker Started
 
Использование Hadoop в Badoo, Валерий Старынин (Badoo)
Использование Hadoop в Badoo, Валерий Старынин (Badoo)Использование Hadoop в Badoo, Валерий Старынин (Badoo)
Использование Hadoop в Badoo, Валерий Старынин (Badoo)
 
Mastering JIRA Workflow - Atlassian Summit 2010
Mastering JIRA Workflow - Atlassian Summit 2010Mastering JIRA Workflow - Atlassian Summit 2010
Mastering JIRA Workflow - Atlassian Summit 2010
 

Similar to Docker контейнерная революция

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
 
Окружение разработчика - от виртуализации к контейнеризации
Окружение разработчика - от виртуализации к контейнеризацииОкружение разработчика - от виртуализации к контейнеризации
Окружение разработчика - от виртуализации к контейнеризацииAlexander Kirillov
 
OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельности
OpenStackRussia
 
Docker и оркетсрация контейнеров в облаке Azure
Docker и оркетсрация контейнеров в облаке AzureDocker и оркетсрация контейнеров в облаке Azure
Docker и оркетсрация контейнеров в облаке Azure
Stas Pavlov
 
Локальное окружение на Docker
Локальное окружение на DockerЛокальное окружение на Docker
Локальное окружение на Docker
Михаил Бакулин
 
Yet Another PaaS
Yet Another PaaSYet Another PaaS
Yet Another PaaS
Provectus
 
DevCon School. Azure Microservices and Containers
DevCon School. Azure Microservices and ContainersDevCon School. Azure Microservices and Containers
DevCon School. Azure Microservices and Containers
Stas Pavlov
 
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
Vad Tymoshyk
 
Codeception + Docker + Robo и что из этого вышло
Codeception + Docker + Robo и что из этого вышлоCodeception + Docker + Robo и что из этого вышло
Codeception + Docker + Robo и что из этого вышло
COMAQA.BY
 
Docker&Azure
Docker&AzureDocker&Azure
Docker&Azure
Oleg Chorny
 
Развёртывание приложений Docker в контейнерах Virtuozzo -- Павел Тихомиров
Развёртывание приложений Docker в контейнерах Virtuozzo -- Павел ТихомировРазвёртывание приложений Docker в контейнерах Virtuozzo -- Павел Тихомиров
Развёртывание приложений Docker в контейнерах Virtuozzo -- Павел Тихомиров
OpenVZ
 
Docker
DockerDocker
Docker-контейнеризация: от local до production
Docker-контейнеризация: от local до productionDocker-контейнеризация: от local до production
Docker-контейнеризация: от local до production
Roman Kudlay
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
Provectus
 
Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаAlexander Kirillov
 
Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчика
Open-IT
 
"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
 
Клуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps EveningКлуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps Evening
Artjoker
 
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
 

Similar to Docker контейнерная революция (20)

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: вместе и по отдельности
 
Docker и оркетсрация контейнеров в облаке Azure
Docker и оркетсрация контейнеров в облаке AzureDocker и оркетсрация контейнеров в облаке Azure
Docker и оркетсрация контейнеров в облаке Azure
 
Локальное окружение на Docker
Локальное окружение на DockerЛокальное окружение на Docker
Локальное окружение на Docker
 
Yet Another PaaS
Yet Another PaaSYet Another PaaS
Yet Another PaaS
 
DevCon School. Azure Microservices and Containers
DevCon School. Azure Microservices and ContainersDevCon School. Azure Microservices and Containers
DevCon School. Azure Microservices and Containers
 
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
 
Codeception + Docker + Robo и что из этого вышло
Codeception + Docker + Robo и что из этого вышлоCodeception + Docker + Robo и что из этого вышло
Codeception + Docker + Robo и что из этого вышло
 
Docker&Azure
Docker&AzureDocker&Azure
Docker&Azure
 
Развёртывание приложений Docker в контейнерах Virtuozzo -- Павел Тихомиров
Развёртывание приложений Docker в контейнерах Virtuozzo -- Павел ТихомировРазвёртывание приложений Docker в контейнерах Virtuozzo -- Павел Тихомиров
Развёртывание приложений Docker в контейнерах Virtuozzo -- Павел Тихомиров
 
Docker
DockerDocker
Docker
 
Docker-контейнеризация: от local до production
Docker-контейнеризация: от local до productionDocker-контейнеризация: от local до production
Docker-контейнеризация: от local до production
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
 
Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчика
 
Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчика
 
"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...
 
Клуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps EveningКлуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps Evening
 
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
 

More from GetDev.NET

Go
GoGo
Leap Motion - игрушка с заделом на будущее
Leap Motion - игрушка с заделом на будущееLeap Motion - игрушка с заделом на будущее
Leap Motion - игрушка с заделом на будущее
GetDev.NET
 
Гирлянда для программистов
Гирлянда для программистовГирлянда для программистов
Гирлянда для программистов
GetDev.NET
 
Что нового в Visual Studio 2015
Что нового в Visual Studio 2015Что нового в Visual Studio 2015
Что нового в Visual Studio 2015
GetDev.NET
 
Windows 10 для пользователей и разработчиков
Windows 10 для пользователей и разработчиковWindows 10 для пользователей и разработчиков
Windows 10 для пользователей и разработчиков
GetDev.NET
 
PhoneGap для мобильного разработчика - глубокое погружение без ОЗК
PhoneGap для мобильного разработчика - глубокое погружение без ОЗКPhoneGap для мобильного разработчика - глубокое погружение без ОЗК
PhoneGap для мобильного разработчика - глубокое погружение без ОЗК
GetDev.NET
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web API
GetDev.NET
 
Что нового в Visual Studio 2013
Что нового в Visual Studio 2013Что нового в Visual Studio 2013
Что нового в Visual Studio 2013
GetDev.NET
 
AngularJS
AngularJSAngularJS
AngularJS
GetDev.NET
 
TypeScript
TypeScriptTypeScript
TypeScript
GetDev.NET
 
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
GetDev.NET
 
Lego Mindstorms
Lego MindstormsLego Mindstorms
Lego Mindstorms
GetDev.NET
 
Особенности мобильной платформы Windows Phone 8
Особенности мобильной платформы Windows Phone 8Особенности мобильной платформы Windows Phone 8
Особенности мобильной платформы Windows Phone 8
GetDev.NET
 
Async Javascript
Async JavascriptAsync Javascript
Async Javascript
GetDev.NET
 
XAML - язык разметки приложений
XAML - язык разметки приложенийXAML - язык разметки приложений
XAML - язык разметки приложений
GetDev.NET
 
Dynamic Language Runtime
Dynamic Language RuntimeDynamic Language Runtime
Dynamic Language Runtime
GetDev.NET
 
JavaScript: хороший тон клиентской разработки
JavaScript: хороший тон клиентской разработкиJavaScript: хороший тон клиентской разработки
JavaScript: хороший тон клиентской разработки
GetDev.NET
 
Roslyn - компилятор как сервис
Roslyn - компилятор как сервисRoslyn - компилятор как сервис
Roslyn - компилятор как сервис
GetDev.NET
 
ASP.NET MVC 4
ASP.NET MVC 4ASP.NET MVC 4
ASP.NET MVC 4
GetDev.NET
 
ASP.NET, MVC, ASP.NET MVC
ASP.NET, MVC, ASP.NET MVCASP.NET, MVC, ASP.NET MVC
ASP.NET, MVC, ASP.NET MVC
GetDev.NET
 

More from GetDev.NET (20)

Go
GoGo
Go
 
Leap Motion - игрушка с заделом на будущее
Leap Motion - игрушка с заделом на будущееLeap Motion - игрушка с заделом на будущее
Leap Motion - игрушка с заделом на будущее
 
Гирлянда для программистов
Гирлянда для программистовГирлянда для программистов
Гирлянда для программистов
 
Что нового в Visual Studio 2015
Что нового в Visual Studio 2015Что нового в Visual Studio 2015
Что нового в Visual Studio 2015
 
Windows 10 для пользователей и разработчиков
Windows 10 для пользователей и разработчиковWindows 10 для пользователей и разработчиков
Windows 10 для пользователей и разработчиков
 
PhoneGap для мобильного разработчика - глубокое погружение без ОЗК
PhoneGap для мобильного разработчика - глубокое погружение без ОЗКPhoneGap для мобильного разработчика - глубокое погружение без ОЗК
PhoneGap для мобильного разработчика - глубокое погружение без ОЗК
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web API
 
Что нового в Visual Studio 2013
Что нового в Visual Studio 2013Что нового в Visual Studio 2013
Что нового в Visual Studio 2013
 
AngularJS
AngularJSAngularJS
AngularJS
 
TypeScript
TypeScriptTypeScript
TypeScript
 
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
 
Lego Mindstorms
Lego MindstormsLego Mindstorms
Lego Mindstorms
 
Особенности мобильной платформы Windows Phone 8
Особенности мобильной платформы Windows Phone 8Особенности мобильной платформы Windows Phone 8
Особенности мобильной платформы Windows Phone 8
 
Async Javascript
Async JavascriptAsync Javascript
Async Javascript
 
XAML - язык разметки приложений
XAML - язык разметки приложенийXAML - язык разметки приложений
XAML - язык разметки приложений
 
Dynamic Language Runtime
Dynamic Language RuntimeDynamic Language Runtime
Dynamic Language Runtime
 
JavaScript: хороший тон клиентской разработки
JavaScript: хороший тон клиентской разработкиJavaScript: хороший тон клиентской разработки
JavaScript: хороший тон клиентской разработки
 
Roslyn - компилятор как сервис
Roslyn - компилятор как сервисRoslyn - компилятор как сервис
Roslyn - компилятор как сервис
 
ASP.NET MVC 4
ASP.NET MVC 4ASP.NET MVC 4
ASP.NET MVC 4
 
ASP.NET, MVC, ASP.NET MVC
ASP.NET, MVC, ASP.NET MVCASP.NET, MVC, ASP.NET MVC
ASP.NET, MVC, ASP.NET MVC
 

Docker контейнерная революция

  • 2. План ● Docker как тренд ● Зачем нужен Docker? ● Hypervisor vs. Container ● Контейнеры на Linux: почему Docker выстрелил? ● Демо! ● Docker на Windows и другое
  • 6. Docker как тренд: GitHub >23K GitHub repos* *Сегодня больше vs. >43K “angular”, >61K “jquery”
  • 7. Docker как тренд: Microsoft Azure http://azure.microsoft.com/blog/2014/10/15/new-windows-server-containers-and-azure-support-for-docker/
  • 8. Docker как тренд: “New Java” http://blogs.gartner.com/david_m_smith/2014/10/21/docker-is-the-new-java/
  • 13. Что хочется Придумать волшебную кнопку: “Опубликовать приложние где угодно” “To build the ‘button’ that enables any application to be built and deployed on any server, anywhere.”
  • 19. Проблема А если вы на него бочку катите, то это уже...
  • 21. Решение: контейнеризация Почему бы не поступить так же с софтом?
  • 22.
  • 24. Продолжаем аналогию Грузовой контейнер Software container Любое наполнение Содержит любой груз Содержит любые приложения Любое место Склад, поезд, порт, корабль, самолет, прицеп... Ноутбук, VM, IaaS,выделенный сервер, VPS, private cloud... Изоляция Можно ставить наковальни на бананы Предотвращение конфликтов библиотек и окружения Эффективность Единые стандарты: известно как хранить и “двигать” Разделение обязанностей Отправителю важен груз, перевозчику - доставка Разработчику важен код, оператору - инфраструктура
  • 26. VM: суть Жир! App 1 App 1’ App 2 Env 1 Env 1 Env 2 Гостевая ОС Гостевая ОС Гостевая ОС ОС + гипервизор / аппаратный гипервизор Железо Полезная нагрузка
  • 27. VM: минусы ● Долгий старт ● Потребление ресурсов ⇨ низкая плотность ● Гостевая ОС думает, что она самая главная ● Невозможность каскадирования (nested VM) ● Накладные расходы: 5-15%
  • 28. VM: суть “Our cloud-based IT world is founded on hypervisors. It doesn’t have to be that way – and, some say, it shouldn’t be. Containers can deliver more services using the same hardware you’re now using for virtual machines” http://blog.smartbear.com/web-monitoring/why-containers-instead-of-hypervisors/
  • 29. Контейнеры: легкая виртуализация App 1 App 1’ App 2 Env 1 Env 1 Env 2 Гостевая ОС Гостевая ОС Гостевая ОС ОС + гипервизор Железо A1 A1’ A1’ A2 A2’ A3 A3’ A3’ Extra libs Env 1 Env 2 ОС + tools Железо
  • 30. Контейнеры — не новость ● Применяются уже лет 15 ● chroot ● UNIX: Solaris zones, BSD jails, AIX WRAPS ● Windows: iCore Virtual Accounts, Parallels Containers ● Linux: Virtuozzo ⇨ OpenVZ, Linux V-Server, LXC, docker
  • 31. Контейнеры — не новость ● Применяются уже лет 15 ● chroot ● UNIX: Solaris zones, BSD jails, AIX WRAPS ● Windows: iCore Virtual Accounts, Parallels Containers ● Linux: Virtuozzo ⇨ OpenVZ, Linux V-Server, LXC, docker
  • 32. THE FOLLOWING SLIDES CONTAIN COARSE LANGUAGE -- INCLUDING BUT NOT LIMITED TO “LINUX”, “KERNEL”, “CONSOLE” -- AND DUE TO THEIR CONTENTS SHOULD NOT BE VIEWED BY ANYONE ■
  • 33. История контейнеров в Linux 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 mount namespaces Virtuozzo (custom kernel) OpenVZ cgroups LXC docker kernel 3.8 rocket (redesign) namespaces раннее средневековье возрождение новое время уменьшение patchset-а
  • 34. Kernel namespaces & cgroups namespaces (pid, net, ipc, mnt, uts, user) — изоляция процессов cgroups — учёт и ограничение потребляемых ресурсов Являются встроенными низкоуровневыми фишками (примитивами) ядра + AppArmor, SELinux, capabilities, GRSEC, PAX,... (security)
  • 35. Kernel namespaces & cgroups Ядро (Linux kernel) Обычные процессы ns1 /, eth0, 2CPU, 1GB 1 Ruby 1.9.3 2 nginx 1.7 3 MySQL 5.3 1 init 2 cron 3 sshd 4 ntp ... ns2 /, eth0, 1CPU, 512MB 1 Ruby 1.9.1 2 nginx 1.4 3 MySQL 5.0
  • 36. OpenVZ vs. LXC vs. Docker vs. X ● Мощные production-ready инструменты ● Умеют делать всё что нужно (плюс-минус нюансы) ● Спрашивать, кто лучше = holywar http://ru-openvz.livejournal.com/1970.html Но почему Docker так выстрелил?
  • 37. Docker, кто же ты? ● Сам не является технологией контейнеризации ● Поддерживает разные среды выполнения ● Docker — система упаковки и доставки приложений “Pack, ship, and run any application as a lightweight, portable, self-sufficient container that runs virtually anywhere” (James Bottomley, CTO, Parallels) http://stackoverflow.com/q/17989306
  • 38. Docker execution drivers до версии 0.9 Docker - обёртка над LXC начиная с 0.9 введена абстракция среды выполнения
  • 39. Docker: application-centric Цель — не создать изолированное окружение (“легковесную виртуалку”), а запустить приложение “Докеризация” (dockerizing) — приведение приложения к виду, пригодному для запуска в Docker-контейнере
  • 40. Docker: versioning, reuse, sharing Многослойная файловая система (union mount: AUFS и др.) в совокупности с copy-on-write делает контейнеры похожими на git-репозитории: ревизии, тэги, commit, history, registry, pull, push, base image, DockerHub
  • 41. Docker: versioning, reuse, sharing scratch ubuntu 14.04 mono 3.10 debian 7 mysql 5.5 ubuntu 14.04 apache2 php 5.5 wordpress1 mysql 5.5 mono 3.10 asp-vNext super-app registry db1 app1 app2 pull pull pull
  • 42. Docker: versioning, reuse, sharing Union mount, copy-on-write, AUFS, layers, ...
  • 43. Docker: versioning, reuse, sharing Union mount, copy-on-write, AUFS, layers, ... ● Образ как VCS ● Экономия места ● Быстрый перенос/deploy ● Экономия памяти (“buffer cache is happy”)
  • 45. Docker: automated build # Dockerfile FROM ubuntu:14.04 ENV opa=123 key=eprst RUN apt-get install -y mysql-server ADD start.sh / CMD [ “/start.sh” ]
  • 46. Docker: deployment, tools ● Командная строка ● RESTful API ● импорт/экспорт образов, единый формат! ● Управление кластерами: compose, machine, swarm ● Поколение специальных ОС: Boot2Docker, CoreOS, Ubuntu Snappy, Project Atomic
  • 48. Docker на Windows? 15 октября 2014 Microsoft и Docker сообщают о стратегическом сотрудничестве
  • 49. Docker на Windows: обещания #1 В следующий Windows Server (Q3 2015) будут добавлены аналоги namespaces/cgroups Docker PR: “a Microsoft led initiative to add container capabilities (e.g. the equivalent of namespaces and cgroups) to Windows” Docker Roadmap: “The next Microsoft Windows Server will ship with primitives to support container-based process isolation and resource management”
  • 50. Docker на Windows: обещания #2 Docker будет работать нативно под Windows Docker PR: “a new Docker Windows Daemon, which will be built in open source under the aegis and governance of the Docker project” Microsoft PR: “Docker Engine, the open source runtime that builds, runs and orchestrates containers, will work with the next release of Windows Server”
  • 51. Docker на Windows: обещания #2 Docker будет работать нативно под Windows
  • 52. Docker на Windows: обещания Клиентская часть docker.exe уже работает TechEd EU 2014 Keynote, Марк Русси́нович (CTO, Azure) http://youtu.be/ktrEh0rA9DY?t=1h19m46s
  • 53. Docker на Windows: обещания #3 Мультиконтейнерные приложения: Windows и Linux Docker PR: “The overall Docker platform, which will also be extended (in the open) to support both the Docker Windows Daemon and the Docker Linux Daemon” Microsoft PR: “Microsoft has also announced its contribution to Docker’s open orchestration APIs, ensuring portability for multicontainer applications”
  • 54. Docker на Windows: обещания #3 Мультиконтейнерные приложения: Windows и Linux
  • 55. Docker на Windows: сегодня ● Внутри виртуальной машины общего назначения ● Boot2Docker (спец. образ VirtualBox)
  • 56. Другие важные аспекты ● Один процесс или много процессов? ● Как связывать контейнеры? ● Монтирование томов ● Image trust ● Что делать с логами? ● Как ограничивать ресурсы (CPU, RAM)?