2016-04-05 2 views
0

При создании контейнера докеров мы выбираем контейнер для наследования, который часто является ОС Linux (например, ubuntu, debian или boot2docker). Имеет ли это влияние на производительность, если несколько контейнеров, работающих на одном и том же хосте, имеют одну и ту же родительскую ОС?Возникает ли влияние производительности на наличие докерных контейнеров с различными базовыми блоками ОС?

[Большой ответ будет объяснить, почему ответ так, то ли элементы ОС распределяются между отдельными контейнерами и любыми лучшими практиками вокруг выбора, что зависимости для использования при создании Docker контейнеров.]

ответ

0

Короткого ответ: да для дискового пространства, возможно, для ОЗУ.

Docker использует файловую систему , которая позволяет контейнерам на основе одинаковых изображений обмениваться файлами, пока файл не будет изменен, в какой момент он будет дублироваться. (Это называется copy-on-write.) Таким образом, использование тех же базовых изображений позволит вам немного дискового пространства. Конечно, дисковое пространство в наши дни редко является ограничивающим фактором, поэтому я обычно не считаю, что это «влияние на производительность».

Между тем драйверов хранения Docker-aufs и OverlayFS, но не btrfs и devicemapper-lead для определенных разделяемых библиотек, совместно используемых в ОЗУ. Поэтому, если у вас несколько контейнеров на основе одного и того же изображения, они не будут загружать дубликаты копий, например. libc в RAM, что, если у вас много и много контейнеров, может иметь значение. (Источник: http://permalink.gmane.org/gmane.comp.sysutils.docker.devel/1385)

Смежные вопросы