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

Исходное сообщение
"Открыт код Docker, системы запуска приложений в изолированны..."

Отправлено opennews , 28-Мрт-13 23:29 
Компания DotCloud перевела (https://groups.google.com/d/msg/docker-club/0FUgE46g5jM/sMcM...) в разряд свободных инструментарий для управления изолированными Linux-контейнерами Docker (http://docker.io/). Docker дополняет инструментарий LXC более высокоуровневым API, работающим на уровне изоляции отдельных процессов. Инструментарий позволяет запускать произвольные процессы в режиме жесткой изоляции и затем переносить и клонировать изолированные контейнеры на другие серверы, не задумываясь о формировании начинки контейнера и его обслуживании.  Одним из применений Docker является обеспечение автоматизации в распределённых системах.


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


Основные особенности Docker:


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

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

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


Базовые возможности:


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

-  Изоляция на уровне сети: каждый изолированный процесс имеет доступ только к связанному с контейнером сетевому пространству имён, включая виртуальный сетевой интерфейс и привязанный к нему IP-адрес;
-  Корневая файловая система для контейнеров  создаётся с использованием механизма copy-on-write (отдельно сохраняются только изменённые и новые данные), что позволяет ускорить развёртывание, снижает расход памяти и экономит дисковое пространство;
-  Все стандартные потоки  (stdout/stderr) каждого выполняемого в контейнере процесса накапливаются и сохраняются в виде лога;
-  Изменённая  файловая система одного контейнера, может использоваться в качестве основы для формирования новых базовых образов и создания других контейнеров, без необходимости оформления шаблонов или ручной настройки состава образов;

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


<center><iframe width="640" height="480" src="http://www.youtube.com/embed/wW9CAH9nSLs?rel=0" frameborder="0" allowfullscreen></iframe></center>

URL: https://groups.google.com/d/msg/docker-club/0FUgE46g5jM/sMcM...
Новость: http://www.opennet.me/opennews/art.shtml?num=36532


Содержание

Сообщения в этом обсуждении
"Открыт код Docker, системы запуска приложений в изолированны..."
Отправлено Аноним , 28-Мрт-13 23:29 
еще прикрутить живую миграцию с хоста на хост в облаке

"Открыт код Docker, системы запуска приложений в изолированны..."
Отправлено Аноним , 29-Мрт-13 03:18 
Замечтельно

"Открыт код Docker, системы запуска приложений в изолированны..."
Отправлено Аноним , 29-Мрт-13 10:15 
Что-то я не просёк, как сочетаются copy-on-write и самодостаточность ФС "не важно где, когда и в каком окружении".

"Открыт код Docker, системы запуска приложений в изолированны..."
Отправлено Аноним , 29-Мрт-13 12:11 
А смысл использовать copy-on-write? Ну вот есть у нас десяток виртуалок с линуксом. Их же надо обновлять иногда. Если делать apt-get upgrade в родительской ФС, то это чревато такими глюками, что даже не знаю. Особенно если в дочерних системах были установлены свои пакеты. Если делать apt-get upgrade в каждой виртуалке, то один фиг через год все файлы перезапишутся, и от copy-on-write толку больше не будет, кроме тормозов.

"Открыт код Docker, системы запуска приложений в изолированны..."
Отправлено Аноним , 29-Мрт-13 14:12 
> А смысл использовать copy-on-write? Ну вот есть у нас десяток виртуалок с
> линуксом. Их же надо обновлять иногда. Если делать apt-get upgrade в
> родительской ФС, то это чревато такими глюками, что даже не знаю.
> Особенно если в дочерних системах были установлены свои пакеты. Если делать
> apt-get upgrade в каждой виртуалке, то один фиг через год все
> файлы перезапишутся, и от copy-on-write толку больше не будет, кроме тормозов.

какие глюки обновитца же по цепочке всё


"Открыт код Docker, системы запуска приложений в изолированны..."
Отправлено Аноним , 29-Мрт-13 15:59 
Ну представь, в дочерней системе установлены какие-то дополнительные пакеты, а родительская система о них ничего не знает. У дочерней системы своя база база данных установленных пакетов, у родительской - своя. Что будет с базой установленных пакетов в дочерней системе после обновления пакетов в родительской системе? В aufs пока ещё не встроили ИИ, чтобы он такие конфликты разруливал магическим образом. :)

"Открыт код Docker, системы запуска приложений в изолированны..."
Отправлено Бобазали , 30-Мрт-13 23:23 
>В aufs пока ещё не встроили ИИ, чтобы он такие конфликты разруливал магическим образом. :)

Для таких задач ИИ не нужен :). Вполне достаточно отследить записи в общие файлы. Если после записи файлы совпадают, то они используются совместно, если нет, то используется индивидуальная версия.


"Открыт код Docker, системы запуска приложений в..."
Отправлено arisu , 31-Мрт-13 02:41 
> Код Docker написан на языке Go

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


"Открыт код Docker, системы запуска приложений в..."
Отправлено vle , 01-Апр-13 21:20 
мммм, таки в самом деле brainfuck?

"Открыт код Docker, системы запуска приложений в..."
Отправлено arisu , 01-Апр-13 22:58 
> мммм, таки в самом деле brainfuck?

whitespace!


"Открыт код Docker, системы запуска приложений в изолированны..."
Отправлено Аноним , 22-Ноя-13 15:19 
Это не та программа в гноме?
Секюрность повыше обычного lxc?

"Открыт код Docker, системы запуска приложений в изолированны..."
Отправлено weirded , 29-Мрт-14 15:12 
Оно ж LXC и использует, как я понял.