URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 92839
[ Назад ]

Исходное сообщение
"Новая версия системы управления контейнерной виртуализацией ..."

Отправлено opennews , 26-Ноя-13 14:36 
Доступен (https://github.com/dotcloud/docker/blob/release/CHANGELOG.md) новый значительный выпуск инструментария для управления изолированными Linux-контейнерами Docker (https://github.com/dotcloud/docker). Docker дополняет инструментарий LXC более высокоуровневым API, позволяющий манипулировать контейнерами на уровне изоляции отдельных процессов. В частности,  Docker  позволяет не заботясь о формировании начинки контейнера запускать произвольные процессы в режиме изоляции и затем переносить и клонировать сформированные для данных процессов контейнеры на другие серверы, беря на себя всю работу по созданию, обслуживанию и сопровождению контейнеров.


Особенности выпуска Docker 0.7.0:

-  Поддержка работы поверх немодифицированных современных ядер Linux и в штатных окружениях всех крупных дистрибутивов Linux;
-  Поддержка использования разных системы хранения, которые могут подключаться как плагины. Среди поддерживаемых драйверов хранения заявлены aufs, device mapper, vfs и btrfs.
-  Добавлена возможность оформления контейнеров, содержащих сложные программные стеки, через связывание между собой уже существующих контейнеров, содержащих составные части формируемого стека;
-  Возможность присвоения контейнерам произвольных запоминающихся имён для упрощения организации работы;
-  Расширенные средства перенаправления портов, поддерживающие привязку к отдельным сетевым интерфейсам и ограничение доступа к портам;
-  Offline-режим перемещения содержимого образов в/из ФС без потери информации.

Код Docker написан на языке Go и распространяется (https://github.com/dotcloud/docker/) под лицензией Apache 2.0. Инструментарий базируется на применении встроенных в ядро Linux штатных механизмов изоляции на основе пространств имён (namespaces) и групп управления (cgroups). Для создания контейнеров используются скрипты lxc (http://lxc.sourceforge.net/). Для формирования контейнера достаточно загрузить базовый образ окружения (docker pull base), после чего можно запускать в изолированных окружениях произвольные приложения (например, для запуска bash можно выполнить "docker run -i -t base /bin/bash").

Основные возможности Docker:

-  Возможность размещения в изолированном окружении разнородной начинки, включающей различие комбинации исполняемых файлов, библиотек, файлов конфигурации, скриптов, файлов jar, gem, tar и т.д.

-  Поддержка работы на любом  компьютере на базе архитектуры x86_64 с системой на базе современного ядра Linux, начиная от ноутбуков, заканчивая серверами и виртуальными машинами.


-  Использование легковесных контейнеров для изоляции процессов от других процессов и основной системы.


-  Так как контейнеры используют свою собственную самодостаточную файловую систему, не важно где, когда и в каком окружении они запускаются.

-  Изоляция на уровне файловой системы: каждый процесс выполняется в полностью отдельной корневой ФС;

-  Изоляция ресурсов: потребление системных ресурсов, таких как расход памяти и нагрузка на CPU, могут ограничиваться отдельно для каждого контейнера с использованием cgroups;


-  Изоляция на уровне сети: каждый изолированный процесс имеет доступ только к связанному с контейнером сетевому пространству имён, включая виртуальный сетевой интерфейс и привязанный к нему IP-адрес;

-  Корневая файловая система для контейнеров  создаётся с использованием механизма copy-on-write (отдельно сохраняются только изменённые и новые данные), что позволяет ускорить развёртывание, снижает расход памяти и экономит дисковое пространство;

-  Все стандартные потоки  (stdout/stderr) каждого выполняемого в контейнере процесса накапливаются и сохраняются в виде лога;

-  Изменённая  файловая система одного контейнера, может использоваться в качестве основы для формирования новых базовых образов и создания других контейнеров, без необходимости оформления шаблонов или ручной настройки состава образов;


-  Возможность использования интерактивной командной оболочки: к стандартному вводу любого контейнера может быть привязан псевдо-tty для запуска shell.

URL: https://github.com/dotcloud/docker/blob/release/CHANGELOG.md
Новость: http://www.opennet.me/opennews/art.shtml?num=38524


Содержание

Сообщения в этом обсуждении
"Новая версия системы управления контейнерной виртуализацией ..."
Отправлено анонимм , 26-Ноя-13 14:36 
Редхет не осилил сканпелировать aufs и всунул в докер "поддерживаемые драйвера хранения", лучше бы в системды свою замену докеру написали, а оригинал не трогали.

"Новая версия системы управления контейнерной виртуализацией ..."
Отправлено Аноним , 26-Ноя-13 14:49 
> Редхет

Почему редхет, а не интел, гугл или каноникал?

> не осилил сканпелировать aufs

Линус запрещает любые попытки сделать overlay fs на уровнея ядра.

> лучше бы в системды свою замену докеру написали, а оригинал не трогали.

Вообще-то, docker изначально создавался как "свой, принципиально новый systemd, но на принципиально новом языке и без поддержки инициализации".


"Новая версия системы управления контейнерной виртуализацией ..."
Отправлено Аноним , 26-Ноя-13 15:20 
> Линус запрещает любые попытки сделать overlay fs на уровнея ядра.

И он определенно прав, судя по фееричным проблемам docker при попытке запуска поверх корня на btrfs из-за кривизны aufs.


"Новая версия системы управления контейнерной виртуализацией ..."
Отправлено анонимм , 26-Ноя-13 15:37 
> Почему редхет, а не интел, гугл или каноникал?

потому что в одной из новостей о rhel 6.5 было о нём написано

> Линус запрещает любые попытки сделать overlay fs на уровнея ядра.

выглядит как чушь, поскольку никто не требует докер в ядро включать

> новом языке и без поддержки инициализации".

отличная идея


"Новая версия системы управления контейнерной виртуализацией ..."
Отправлено Аноним , 26-Ноя-13 17:15 
> потому что в одной из новостей о rhel 6.5 было о нём написано

И что?

> выглядит как чушь, поскольку никто не требует докер в ядро включать

Как это отрицает завязанность докера на функционал ядра?

> отличная идея

Переписать с нуля что-то уже существующее - всегда отличная идея, Леннарт подтверждает.


"Новая версия системы управления контейнерной виртуализацией ..."
Отправлено анонимм , 26-Ноя-13 23:55 
> Как это отрицает завязанность докера на функционал ядра?

докер лишь запускалка контейнеров, ФУНКЦИОНАЛ ты, ёпта



"Новая версия системы управления контейнерной виртуализацией ..."
Отправлено Аноним , 28-Ноя-13 00:44 
>> Как это отрицает завязанность докера на функционал ядра?
> докер лишь запускалка контейнеров

Вот-вот. И поэтому без соответствующих фич в ядре он - ноль без палочки.


"Новая версия системы управления контейнерной виртуализацией ..."
Отправлено Mirraz , 27-Ноя-13 11:32 
>Линус запрещает любые попытки сделать overlay fs на уровня ядра.

А можно вот об этом поподробнее? WHY?


"Новая версия системы управления контейнерной виртуализацией ..."
Отправлено Аноним , 28-Ноя-13 00:42 
> А можно вот об этом поподробнее?

Погуглите истории попыток включения UnionFS, AUFS и OverlayFS в мейнстримное ядро.

> WHY?

Когда Линус показывает свой средний палец, технические аргумент излишни.


"Новая версия системы управления контейнерной виртуализацией ..."
Отправлено Аноним , 26-Ноя-13 14:54 
Skype в нём проверял кто?

"Новая версия системы управления контейнерной виртуализацией ..."
Отправлено Аноним , 26-Ноя-13 15:21 
Работает, вот только вряд ли вы контейнер сможете настроить

"Новая версия системы управления контейнерной виртуализацией ..."
Отправлено Аноним , 26-Ноя-13 15:23 
> вряд ли вы контейнер сможете настроить

А что, с этим какие-то проблемы?


"Новая версия системы управления контейнерной виртуализацией ..."
Отправлено Аноним , 26-Ноя-13 16:32 
Ну да, с вашими руками.

"Новая версия системы управления контейнерной виртуализацией ..."
Отправлено Аноним , 26-Ноя-13 17:30 
Что не так с нашими руками?

"Новая версия системы управления контейнерной виртуализацией ..."
Отправлено Аноним , 26-Ноя-13 15:10 
btrfs удалите. Нету там его.

"Новая версия системы управления контейнерной виртуализацией ..."
Отправлено Аноним , 26-Ноя-13 15:16 
btrfs - это режим с отключенным aufs. Потому что при попытке использовать aufs (который по умолчанию юзается в докере) поверх btrfs docker падает.

"Новая версия системы управления контейнерной виртуализацией ..."
Отправлено Аноним , 26-Ноя-13 15:48 
т.е. чтобы использовать btrfs нужно чтобы /var/lib/docker был на btrfs?

"Новая версия системы управления контейнерной виртуализацией ..."
Отправлено Аноним , 26-Ноя-13 17:13 
Да. И наоборот - если он будет _не_ на btrfs, на нем будет использоваться aufs.

"Новая версия системы управления контейнерной виртуализацией ..."
Отправлено IvAnZ , 26-Ноя-13 21:29 
Народ обьясните на пальцах чем от OpenVZ отличается и что общего (кроме namespaces и cgroups)?

"Новая версия системы управления контейнерной виртуализацией ..."
Отправлено angra , 27-Ноя-13 15:47 
http://openvz.livejournal.com/45647.html

Если это "многабукав", то можно кратко одной фразой оттуда
OpenVZ is essentially LXC++, because it adds some more stuff that are not (yet) available in the upstream kernel (such as stronger isolation, better resource accounting, plus some auxiliary ones like ploop).