The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Новая версия системы управления контейнерной виртуализацией ..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Новая версия системы управления контейнерной виртуализацией ..."  +/
Сообщение от 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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от анонимм (?), 26-Ноя-13, 14:36   –12 +/
Редхет не осилил сканпелировать aufs и всунул в докер "поддерживаемые драйвера хранения", лучше бы в системды свою замену докеру написали, а оригинал не трогали.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #2

2. Сообщение от Аноним (-), 26-Ноя-13, 14:49   +8 +/
> Редхет

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #6, #9, #21

3. Сообщение от Аноним (-), 26-Ноя-13, 14:54   –1 +/
Skype в нём проверял кто?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #7

4. Сообщение от Аноним (-), 26-Ноя-13, 15:10   +/
btrfs удалите. Нету там его.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #5

5. Сообщение от Аноним (-), 26-Ноя-13, 15:16   +/
btrfs - это режим с отключенным aufs. Потому что при попытке использовать aufs (который по умолчанию юзается в докере) поверх btrfs docker падает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #10

6. Сообщение от Аноним (-), 26-Ноя-13, 15:20   +/
> Линус запрещает любые попытки сделать overlay fs на уровнея ядра.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

7. Сообщение от Аноним (-), 26-Ноя-13, 15:21   +1 +/
Работает, вот только вряд ли вы контейнер сможете настроить
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #8

8. Сообщение от Аноним (-), 26-Ноя-13, 15:23   +/
> вряд ли вы контейнер сможете настроить

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #11

9. Сообщение от анонимм (?), 26-Ноя-13, 15:37   –6 +/
> Почему редхет, а не интел, гугл или каноникал?

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #13

10. Сообщение от Аноним (-), 26-Ноя-13, 15:48   +1 +/
т.е. чтобы использовать btrfs нужно чтобы /var/lib/docker был на btrfs?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #12

11. Сообщение от Аноним (-), 26-Ноя-13, 16:32   +/
Ну да, с вашими руками.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #14

12. Сообщение от Аноним (-), 26-Ноя-13, 17:13   +/
Да. И наоборот - если он будет _не_ на btrfs, на нем будет использоваться aufs.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

13. Сообщение от Аноним (-), 26-Ноя-13, 17:15   +/
> потому что в одной из новостей о rhel 6.5 было о нём написано

И что?

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #19

14. Сообщение от Аноним (-), 26-Ноя-13, 17:30   +/
Что не так с нашими руками?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11

18. Сообщение от IvAnZ (?), 26-Ноя-13, 21:29   +/
Народ обьясните на пальцах чем от OpenVZ отличается и что общего (кроме namespaces и cgroups)?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #22

19. Сообщение от анонимм (?), 26-Ноя-13, 23:55   –1 +/
> Как это отрицает завязанность докера на функционал ядра?

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


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #24

21. Сообщение от Mirraz (ok), 27-Ноя-13, 11:32   +/
>Линус запрещает любые попытки сделать overlay fs на уровня ядра.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #23

22. Сообщение от angra (ok), 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).

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

23. Сообщение от Аноним (-), 28-Ноя-13, 00:42   +/
> А можно вот об этом поподробнее?

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

> WHY?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

24. Сообщение от Аноним (-), 28-Ноя-13, 00:44   +/
>> Как это отрицает завязанность докера на функционал ядра?
> докер лишь запускалка контейнеров

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру