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

Исходное сообщение
"Docker 1.11 переведён на containerd и runC"

Отправлено opennews , 14-Апр-16 20:22 
Представлен (https://blog.docker.com/2016/04/docker-engine-1-11-runc/) релиз инструментария для управления изолированными Linux-контейнерами Docker 1.11 (http://www.docker.com/), предоставляющего высокоуровневый API для манипуляции контейнерами на уровне изоляции отдельных приложений. В частности,  Docker  позволяет, не заботясь о формировании начинки контейнера, запускать произвольные процессы в режиме изоляции и затем переносить и клонировать сформированные для данных процессов контейнеры на другие серверы, беря на себя всю работу по созданию, обслуживанию и сопровождению контейнеров. Инструментарий базируется на применении встроенных в ядро Linux штатных механизмов изоляции на основе пространств имён (namespaces) и групп управления (cgroups). Код Docker написан на языке Go и распространяется (https://github.com/dotcloud/docker/) под лицензией Apache 2.0.

Docker 1.11 стал первый выпуском, по умолчанию перешедшим на легковесный runtime  runC (http://runc.io/) и управляющий инструментарий containerd (https://containerd.tools/), совместимые со спецификациями OCI (Open Container Initiative (https://www.opencontainers.org/)), определяющими единый формат контейнеров и универсальный runtime для их запуска.


runC (http://runc.io/) предоставляет обособленный набор компонентов для запуска контейнеров на широком спектре систем, позволяя обойтись без внешних зависимостей, так как поддержка различных технологий изоляции встраивается в runtime контейнера. Для организации работы с контейнерами  runC поддерживает пространства имён Linux (namespaces), различные средства повышения безопасности Linux (SELinux, Apparmor, seccomp, cgroups, capability, pivot_root, сброс uid/gid), live-миграцию (используется CRIU), возможности создания контейнеров в Windows 10, поддержку интеграции с systemd и переносимые профили производительности (предоставлены Google).


Containerd включает фоновый процесс и клиент командной строки, использующий runC  для запуска контейнеров, соответствующих спецификации OCI. Из расширенных возможностей containerd отмечается поддержка seccomp, непривилегированных контейнеров (user namespace), применение criu для клонирования и live-миграции. При одновременном запуске 1000 контейнеров containerd обеспечивает производительность запуска в 126-140 контейнеров в секунду.


Движок Docker теперь работает в качестве надстройки над containerd, что позволяет сохранить привычный для пользователей Docker интерфейс. Интеграция containerd позволила существенно упростить кодовую базу Docker и избавиться от ряда проблем. Кроме того, разделение  Docker на независимые слои упростило сопровождение продукта и существенно повысило его качество. Особое внимание было уделено производительности - задействование дополнительных механизмов межпроцессного взаимодействия не только не привело к замедлению работы, но и ускорило работу благодаря распараллеливанию операций создания контейнеров.
<center><img src="https://www.opennet.dev/opennews/pics_base/0_1460652817.png&q... style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></center>


Из других новшеств (https://github.com/docker/docker/releases/tag/v1.11.0)  Docker 1.11 можно отметить:


-  Поддержка балансировки нагрузки через распределение запросов к контейнерам в режиме "round robin" с использованием DNS;

-  Экспериментальная поддержка VLAN в сетевой инфраструктуре контейнеров;
-  Возможность использования аппаратных устройств Yubikey для формирования цифровых подписей для образов контейнеров;
-  Поддержка привязки произвольных меток в формате ключ/значение к сетям и дисковым разделам по аналогии с привязкой меток к контейнерам и образам;
-  Улучшена обработка состояния нехватки дискового пространства в хранилищах на базе device mapper;

- Выпуск инструмента Docker Compose 1.7 (https://github.com/docker/compose/releases/tag/1.7.0), позволяющего организовать работу распределённого на несколько хостов приложения, в работу которого вовлечено несколько контейнеров, запущенных в кластере на базе Docker Swarm. В новой версии добавлен команда "docker-compose exec" (аналог "docker exec") и опция "--build" для команды "docker-compose up", инициирующая предварительный запуск "docker-compose build";


- Выпуск инструмента Machine 0.7 (http://github.com/docker/machine), предназначенного для быстрого развёртывание хостов в гостевых окружениях систем виртуализации VirtualBox,  VMware, AWS, Digital Ocean и Microsoft Azure. Осуществляет создание начинки сервера, установку на него Docker и настройку клиента для работы с данным сервером.  В новой версии драйвер  Microsoft Azure переведён на новый Azure API;

-  Выпуск инструмента Swarm 1.2 (https://github.com/docker/swarm/), предоставляющего средства кластеризации для упакованных в контейнеры приложений. Swarm даёт возможность управлять кластером из нескольких хостов Docker (например, созданных с использованием Docker Machine) в форме работы с одним виртуальным хостом. Так как Swarm использует штатный Docker API, он может применяться для управления и другими поддерживающими данный API инструментами, такими как  dokku, fig, krane, flynn, deis, docker-ui, shipyard, drone.io, Jenkins. В новой версии (https://github.com/docker/swarm/releases/tag/v1.2.0) стабилизирована поддержка перепланировки, обеспечивающей автоматическое перемещение контейнера на рабочий узел в случае сбоя текущего узла.

URL: https://blog.docker.com/2016/04/docker-engine-1-11-runc/
Новость: http://www.opennet.dev/opennews/art.shtml?num=44246


Содержание

Сообщения в этом обсуждении
"Docker 1.11 переведён на containerd и runC"
Отправлено jedie , 14-Апр-16 20:22 
Только что запустил новый кластер. Придется переделывать.

"Docker 1.11 переведён на containerd и runC"
Отправлено crypt , 14-Апр-16 21:23 
закономерно. те, кто пишут докер, еще учатся, как это делать. я пока не стал связываться с докер и мои контейнеры просто работает.

"Docker 1.11 переведён на containerd и runC"
Отправлено Аноним , 15-Апр-16 07:12 
> закономерно. те, кто пишут докер, еще учатся, как это делать. я пока
> не стал связываться с докер и мои контейнеры просто работает.

вам скорее всего докер не нужен.


"Docker 1.11 переведён на containerd и runC"
Отправлено crypt , 15-Апр-16 09:49 
>> закономерно. те, кто пишут докер, еще учатся, как это делать. я пока
>> не стал связываться с докер и мои контейнеры просто работает.
> вам скорее всего докер не нужен.

пожалуй. я не очень понимаю его преимущества. но в конечном итоге это ведь всего лишь способ запуска приложений, а не самоцель.


"Docker 1.11 переведён на containerd и runC"
Отправлено Аноним , 16-Апр-16 02:59 
Их преимущество - в том что они умеют пиариться и разводить инвесторов на бабки. Остальное они делают хуже. Змби нормально рипать в *никсах - что вы, как можно. Зато поддержка десятки. Очень актуально при тамоншних лимитах на 10 TCP соединений.

"Docker 1.11 переведён на containerd и runC"
Отправлено freehck , 15-Апр-16 12:53 
> я пока не стал связываться с докер и мои контейнеры просто работают.

Кстати да. Как раньше гоняли в chroot-окружениях, так и сейчас гоняем.

Но у Docker, всё же надо признаться, есть потенциал. Лично меня радует связка chroot+LXC. И это уже сейчас можно использовать для более полной изоляции приложений.

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


"Docker 1.11 переведён на containerd и runC"
Отправлено Michael Shigorin , 15-Апр-16 13:59 
> Но у Docker, всё же надо признаться, есть потенциал. Лично меня радует
> связка chroot+LXC. И это уже сейчас можно использовать для более полной
> изоляции приложений.

s/более/чуть &/


"Docker 1.11 переведён на containerd и runC"
Отправлено freehck , 15-Апр-16 15:04 
Чуть более - это в смысле, что chroot-окружения и так обеспечивали достаточный уровень изоляции, или что оба плохи?

"Docker 1.11 переведён на containerd и runC"
Отправлено Аноним , 16-Апр-16 02:51 
>  закономерно. те, кто пишут докер, еще учатся, как это делать.

При том - нагло врут что приложения для докера переделывать не надо. А когда их тыкают носом что при их подходах приложения утопают в зомби, поскольку PID=1 само приложение и оно ничего про борьбу с зомби не знает - они мямлят что таких приложений мало и вообще, вам что, сложно написать обработчик сигналов и риппер зомби?! В общем, типичные ГОпники с громким маркетингом.


"Docker 1.11 переведён на containerd и runC"
Отправлено Forth , 16-Апр-16 13:19 
Вообще-то если делается fork, то надо waitpid, так в очень-очень-очень стародавние времена было, еще задолго до всяких докеров и контейнеров. Еще половина тутошних комментаторов не родилась, а уже такое было в манах, вашумать. :)
Конечно, если родитель завершается, то все зомби уйдут к #1, но если нет, и работает "вечно", то тоже должен waitpid, даже если он не #1.

"Docker 1.11 переведён на containerd и runC"
Отправлено _KUL , 15-Апр-16 06:49 
С такими "шатаниями" из стороны в стороны данный продукт для продакшена крайне не желательно использовать, только для "посмотреть".

"Docker 1.11 переведён на containerd и runC"
Отправлено Аноним , 15-Апр-16 07:11 
ну вам то веднее, не то что ребятам из гугла, яндейкса и байду.

"Docker 1.11 переведён на containerd и runC"
Отправлено PabloIII , 24-Апр-16 04:07 
И давно начали "ребята из Гугла и Яндекса" использовать эту байду в продакшн? Ребята из Байду могут хоть строчить вприсядку -- нашли с кем сравнивать

"Docker 1.11 переведён на containerd и runC"
Отправлено A.Stahl , 14-Апр-16 20:39 
>containerd

Где-то вдалеке пронеслась едва различимая тень Поттеринга...


"Docker 1.11 переведён на containerd и runC"
Отправлено о6какатрон , 14-Апр-16 20:48 
вамдъ показалосьдъ

"Docker 1.11 переведён на containerd и runC"
Отправлено Какаянахренразница , 14-Апр-16 21:10 
Судя, по комменту ниже, тень Поттеринга показалась не одному лишь гражданину Шталю. Больше похоже на мираж.

Ох, не к добру такое видЕние...


"Docker 1.11 переведён на containerd и runC"
Отправлено Аноним , 14-Апр-16 20:49 
>containerd

я сначала решил, что очередная поделка от Лёни


"Docker 1.11 переведён на containerd и runC"
Отправлено Аноним , 14-Апр-16 23:42 
>> ...поддержку интеграции с systemd и переносимые профили производительности (предоставлены Google...

где-то там он всё равно отметился))


"Docker 1.11 переведён на containerd и runC"
Отправлено Аноним , 14-Апр-16 21:52 
> При одновременном запуске 1000 контейнеров containerd обеспечивает производительность запуска в 126-140 контейнеров в секунду.

Даже если это и Лёнина поделка. Я уже люблю это


"Docker 1.11 переведён на containerd и runC"
Отправлено Аноним , 15-Апр-16 00:21 
Пока ты её любишь.. она уже перестала ломаться при апдейте на новую версию?

"Docker 1.11 переведён на containerd и runC"
Отправлено Stax , 15-Апр-16 16:39 
> Даже если это и Лёнина поделка. Я уже люблю это

Что именно имеется ввиду?

Поттеринг не имеет отношения к этому коду, containerd написан теми же программистами Docker (собственно, на вебсайте вверху и написано - containerd by docker).


"Docker 1.11 переведён на containerd и runC"
Отправлено Аноним , 14-Апр-16 21:53 
во уже прилетели пакеты

"Docker 1.11 переведён на containerd и runC"
Отправлено Led , 14-Апр-16 22:28 
> во уже прилетели пакеты

сортировщиком работаешь?


"Docker 1.11 переведён на containerd и runC"
Отправлено A.Stahl , 14-Апр-16 23:08 
Нет, кассиром. Пакет нужен?

"Docker 1.11 переведён на containerd и runC"
Отправлено Аноним , 15-Апр-16 00:22 
> Нет, кассиром. Пакет нужен?

Очки бы.


"Hitler uses Docker"
Отправлено Romik , 15-Апр-16 10:45 
https://www.youtube.com/watch?v=PivpCKEiQOQ

> позволила существенно упростить кодовую базу Docker и избавиться от ряда проблем

От каких именно?

> Поддержка балансировки нагрузки ... с использованием DNS

Не понял. А раньше разве нельзя балансировать было?


"Docker 1.11 переведён на containerd и runC"
Отправлено Аноним , 15-Апр-16 13:01 
"контейнеры", "не заботясь", "запускать произвольные" и прочие buzzwords.
такое ощущение что айти скатывается к уровню пойти пожрать в макдональдс

"Docker 1.11 переведён на containerd и runC"
Отправлено www2 , 15-Апр-16 18:25 
Ключевые слова "не заботясь". Облака - это тоже из серии "не заботясь получать зарплату".

"Docker 1.11 переведён на containerd и runC"
Отправлено Аноним , 16-Апр-16 03:02 
> такое ощущение что айти скатывается к уровню пойти пожрать в макдональдс

Хорошее описание команды докера.


"Docker 1.11 переведён на containerd и runC"
Отправлено Аноним , 15-Апр-16 17:57 
https://zwischenzugs.wordpress.com/2016/04/12/hitler-uses-do.../

Isolation my ass!