The OpenNET Project / Index page

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

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

"Новая версия системы управления контейнерной виртуализацией ..."  +/
Сообщение от opennews (??) on 06-Фев-14, 22:56 
Увидел свет (http://blog.docker.io/2014/02/docker-0-8-quality-new-builder.../) выпуск инструментария для управления изолированными Linux-контейнерами Docker 0.8 (http://www.docker.io/). Docker дополняет инструментарий LXC более высокоуровневым API, позволяющий манипулировать контейнерами на уровне изоляции отдельных процессов. В частности,  Docker  позволяет не заботясь о формировании начинки контейнера запускать произвольные процессы в режиме изоляции и затем переносить и клонировать сформированные для данных процессов контейнеры на другие серверы, беря на себя всю работу по созданию, обслуживанию и сопровождению контейнеров.


Код 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 0.8 является первым выпуском, при подготовке которого основное внимание уделялось не расширению функциональности, а повышению стабильности и увеличению качества. Также отмечается переход на новую модель формирования новых выпусков. Релизы Docker теперь будут формироваться каждый месяц, что позволит более плавно вводить новые новшества и более интенсивно их тестировать. Находящийся в разработке Master-репозиторий  всегда будет находиться в рабочем состоянии, все принимаемые в него патчи будут соответствовать критериям готовности для выпуска. Т.е. любая сборка из Master-репозитория будет заведомо рабочей и соответствовать статусу кандидата в релизы. Выпуски Docker будут иметь привычную для большинства открытых проектов нумерацию: x.y.z: x - версии со значительными изменениями (например, выпуск 1.0 будет отражать готовность к промышленному применению), y - ежемесячные промежуточные выпуски, z - оперативные корректирующие выпуски.

Особенности (https://github.com/dotcloud/docker/blob/release/CHANGELOG.md) выпуска Docker 0.8:


-  Официальная поддержка платформы OS X;
-  Включение в состав экспериментального драйвера для организации хранилища поверх файловой системы Btrfs в режиме copy-on-write. По умолчанию поддержка Btrfs отключена, для активации следует запустить демон docker с опциями "-d -s btrfs";
-  Проведены разноплановые оптимизации производительности: Существенно ускорена сборка образов из исходных текстов с использованием команды "build", а также процесс удаления контейнеров и образов. Сокращено время запуска и остановки демона. Для инструкции ADD реализована поддержка кэширования, что позволило предотвратить выполнение повторной загрузки исходного контента в ситуациях, кода он не менялся с момента прошлой загрузки;

-  Сокращено потребление памяти при выполнении большого числа типовых операций за счёт потоковой обработки файлов без их предварительного кэширования в памяти. Устранена серия утечек памяти;
-  Увеличена стабильность работы под нагрузкой. Устранено несколько проблем, вызванных условиями гонки (race conditions);

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

-  Добавлена новая инструкция  ONBUILD (http://docs.docker.io/en/latest/reference/builder/#onbuild), позволяющая привязать к образу обработчик (trigger), вызываемый в момент использования образа в качестве образца для создания других образов;

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


-  Во всех операциях с пакетами теперь применяется встроенная реализация tar, написанная на языке Go, что позволяет увеличить переносимость и решает проблемы с несовместимостью разных видов утилиты tar;


-  Поддержка запуска управляющего демона через сервис активации по сокету в  systemd.


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

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

-  Поддержка работы на любом  компьютере на базе архитектуры x86_64 с системой на базе современного ядра Linux, начиная от ноутбуков, заканчивая серверами и виртуальными машинами. Возможность работы поверх немодифицированных современных ядер Linux (без наложения патчей) и в штатных окружениях всех крупных дистрибутивов Linux, включая Fedora, RHEL, Ubuntu, Debian, SUSE, Gentoo и Arch;


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


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


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

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


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

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

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

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


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

-  Поддержка использования разных систем хранения, которые могут подключаться как плагины. Среди поддерживаемых драйверов хранения заявлены aufs, device mapper (используются снапшоты LVM), vfs (на основе копирования директорий) и Btrfs. Ожидается появление драйверов для ZFS, Gluster и Ceph;
-  Возможность создания контейнеров, содержащих сложные программные стеки, через связывание между собой уже существующих контейнеров, содержащих составные части формируемого стека. Связывание осуществляется не через слияние содержимого, а через обеспечения взаимодействия между контейнерами (создаётся сетевой туннель).

URL: http://blog.docker.io/2014/02/docker-0-8-quality-new-builder.../
Новость: http://www.opennet.dev/opennews/art.shtml?num=39030

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

Оглавление

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


1. "Новая версия системы управления контейнерной виртуализацией ..."  –2 +/
Сообщение от Аноним (??) on 06-Фев-14, 22:56 
Слишком тормозной. Наверное из-за GO.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Новая версия системы управления контейнерной виртуализацией ..."  +/
Сообщение от G.NercY.uR email on 06-Фев-14, 23:10 
Ну так то го ведь гуглово детище. А гугл вроде не сторонник плохого и тормозного кода.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Новая версия системы управления контейнерной виртуализацией ..."  +/
Сообщение от Аноним (??) on 06-Фев-14, 23:20 
Иногда качеством и быстротой выполнения кода нужно пожертвовать ради быстроты разработки.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Новая версия системы управления контейнерной виртуализацией ..."  –1 +/
Сообщение от ананим on 06-Фев-14, 23:36 
А иногда нет.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. "Новая версия системы управления контейнерной виртуализацией ..."  +10 +/
Сообщение от Аноним (??) on 06-Фев-14, 23:58 
>А гугл вроде не сторонник плохого и тормозного кода.

Это ты про корпорацию создавшую Андроид?

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

8. "Новая версия системы управления контейнерной виртуализацией ..."  +/
Сообщение от Аноним (??) on 07-Фев-14, 02:24 
> Это ты про корпорацию создавшую Андроид?

В данном случае код и должен быть тормозным. Производители железок тоже кушать хотят.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

11. "Новая версия системы управления контейнерной виртуализацией ..."  +/
Сообщение от Аноним (??) on 07-Фев-14, 11:42 
Google не создавал Android а выкупил у одной компании.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

12. "Новая версия системы управления контейнерной виртуализацией ..."  +/
Сообщение от Аноним 2.0 on 07-Фев-14, 13:12 
Без ноты недоверия. Просто интересно. А у кого купили?
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

13. "Новая версия системы управления контейнерной виртуализацией ..."  +/
Сообщение от Andrey Mitrofanov on 07-Фев-14, 13:23 
> Без ноты недоверия. Просто интересно. А у кого купили?

""Initially developed by Android, Inc., which Google backed financially and later bought in 2005,[13] Android was unveiled in 2007 [...]

en.wikipedia.org/wiki/Android_(operating_system)

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

18. "Новая версия системы управления контейнерной виртуализацией ..."  +2 +/
Сообщение от Аноним (??) on 07-Фев-14, 15:53 
> Google не создавал Android а выкупил у одной компании.

Если бы не любил кривой и тормозной код - не купил бы.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

26. "Новая версия системы управления контейнерной виртуализацией ..."  +/
Сообщение от Аноним (??) on 07-Фев-14, 22:33 
А какие у них были варианты? Компаний типа АндроидКо с некривым и нетормозным кодом на рынке не было.
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

14. "Новая версия системы управления контейнерной виртуализацией ..."  +/
Сообщение от Аноним (??) on 07-Фев-14, 14:47 
Наверное, менее тормозной потому, что Go компилируется в машинный код, в отличие от того, на чём написан Android.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "Новая версия системы управления контейнерной виртуализацией ..."  +1 +/
Сообщение от Аноним (??) on 06-Фев-14, 23:21 
> Возможность работы поверх немодифицированных современных ядер Linux (без наложения патчей)

Значит, изоляция UID NS там на уровне ванильного ядра, т.е. "только от честных людей".

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

27. "Новая версия системы управления контейнерной виртуализацией ..."  +/
Сообщение от некто email(ok) on 07-Фев-14, 22:47 
уважаемые, не подскажете ли на докере можно gui запускать (уже)?

например стартануть парочку лис у себя или там дельфинов, со libreoffice или контейнеры только для консольных приложений?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

28. "Новая версия системы управления контейнерной виртуализацией ..."  +/
Сообщение от Фтщтшь on 10-Фев-14, 17:12 
Чисто теоретически для этого нет никаких преград.
Ну, и на практике уже было реализовано: http://blog.docker.io/2013/07/docker-desktop-your-desktop-ov...
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

29. "Новая версия системы управления контейнерной виртуализацией ..."  +/
Сообщение от некто email(ok) on 10-Фев-14, 18:20 
благодарю, занятно

подумалось - ведь реализуемо так: действительно по ssh подрубаемся к виртуалке, поднимаем vnc-терминал...

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

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

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




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

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