The OpenNET Project / Index page

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

Docker 1.11 переведён на containerd и runC

14.04.2016 19:18

Представлен релиз инструментария для управления изолированными Linux-контейнерами Docker 1.11, предоставляющего высокоуровневый API для манипуляции контейнерами на уровне изоляции отдельных приложений. В частности, Docker позволяет, не заботясь о формировании начинки контейнера, запускать произвольные процессы в режиме изоляции и затем переносить и клонировать сформированные для данных процессов контейнеры на другие серверы, беря на себя всю работу по созданию, обслуживанию и сопровождению контейнеров. Инструментарий базируется на применении встроенных в ядро Linux штатных механизмов изоляции на основе пространств имён (namespaces) и групп управления (cgroups). Код Docker написан на языке Go и распространяется под лицензией Apache 2.0.

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

runC предоставляет обособленный набор компонентов для запуска контейнеров на широком спектре систем, позволяя обойтись без внешних зависимостей, так как поддержка различных технологий изоляции встраивается в 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 на независимые слои упростило сопровождение продукта и существенно повысило его качество. Особое внимание было уделено производительности - задействование дополнительных механизмов межпроцессного взаимодействия не только не привело к замедлению работы, но и ускорило работу благодаря распараллеливанию операций создания контейнеров.

Из других новшеств Docker 1.11 можно отметить:

  • Поддержка балансировки нагрузки через распределение запросов к контейнерам в режиме "round robin" с использованием DNS;
  • Экспериментальная поддержка VLAN в сетевой инфраструктуре контейнеров;
  • Возможность использования аппаратных устройств Yubikey для формирования цифровых подписей для образов контейнеров;
  • Поддержка привязки произвольных меток в формате ключ/значение к сетям и дисковым разделам по аналогии с привязкой меток к контейнерам и образам;
  • Улучшена обработка состояния нехватки дискового пространства в хранилищах на базе device mapper;
  • Выпуск инструмента Docker Compose 1.7, позволяющего организовать работу распределённого на несколько хостов приложения, в работу которого вовлечено несколько контейнеров, запущенных в кластере на базе Docker Swarm. В новой версии добавлена команда "docker-compose exec" (аналог "docker exec") и опция "--build" для команды "docker-compose up", инициирующая предварительный запуск "docker-compose build";
  • Выпуск инструмента Machine 0.7, предназначенного для быстрого развёртывание хостов в гостевых окружениях систем виртуализации VirtualBox, VMware, AWS, Digital Ocean и Microsoft Azure. Осуществляет создание начинки сервера, установку на него Docker и настройку клиента для работы с данным сервером. В новой версии драйвер Microsoft Azure переведён на новый Azure API;
  • Выпуск инструмента Swarm 1.2, предоставляющего средства кластеризации для упакованных в контейнеры приложений. Swarm даёт возможность управлять кластером из нескольких хостов Docker (например, созданных с использованием Docker Machine) в форме работы с одним виртуальным хостом. Так как Swarm использует штатный Docker API, он может применяться для управления и другими поддерживающими данный API инструментами, такими как dokku, fig, krane, flynn, deis, docker-ui, shipyard, drone.io, Jenkins. В новой версии стабилизирована поддержка перепланировки, обеспечивающей автоматическое перемещение контейнера на рабочий узел в случае сбоя текущего узла.


  1. Главная ссылка к новости (https://blog.docker.com/2016/0...)
  2. OpenNews: Выпуск Docker 1.10. Перевод официальных образов Docker с Ubuntu на Alpine
  3. OpenNews: Выпуск rkt 1.3, конкурирующего с Docker инструментария управления контейнерами
  4. OpenNews: Новый выпуск CentOS Atomic Host, специализированной ОС для запуска контейнеров Docker
  5. OpenNews: Docker поглотил Unikernel, технологию выполнения приложений поверх гипервизора
  6. OpenNews: Docker и CoreOS объединили усилия в разработке единого формата контейнеров
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/44246-docker
Ключевые слова: docker
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (30) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, jedie (?), 20:22, 14/04/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Только что запустил новый кластер. Придется переделывать.
     
     
  • 2.6, crypt (ok), 21:23, 14/04/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    закономерно. те, кто пишут докер, еще учатся, как это делать. я пока не стал связываться с докер и мои контейнеры просто работает.
     
     
  • 3.18, Аноним (-), 07:12, 15/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > закономерно. те, кто пишут докер, еще учатся, как это делать. я пока
    > не стал связываться с докер и мои контейнеры просто работает.

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

     
     
  • 4.20, crypt (ok), 09:49, 15/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> закономерно. те, кто пишут докер, еще учатся, как это делать. я пока
    >> не стал связываться с докер и мои контейнеры просто работает.
    > вам скорее всего докер не нужен.

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

     
     
  • 5.32, Аноним (-), 02:59, 16/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Их преимущество - в том что они умеют пиариться и разводить инвесторов на бабки. Остальное они делают хуже. Змби нормально рипать в *никсах - что вы, как можно. Зато поддержка десятки. Очень актуально при тамоншних лимитах на 10 TCP соединений.
     
  • 3.24, freehck (ok), 12:53, 15/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > я пока не стал связываться с докер и мои контейнеры просто работают.

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

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

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

     
     
  • 4.26, Michael Shigorin (ok), 13:59, 15/04/2016 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Но у Docker, всё же надо признаться, есть потенциал. Лично меня радует
    > связка chroot+LXC. И это уже сейчас можно использовать для более полной
    > изоляции приложений.

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

     
     
  • 5.27, freehck (ok), 15:04, 15/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чуть более - это в смысле, что chroot-окружения и так обеспечивали достаточный уровень изоляции, или что оба плохи?
     
  • 3.31, Аноним (-), 02:51, 16/04/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >  закономерно. те, кто пишут докер, еще учатся, как это делать.

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

     
     
  • 4.34, Forth (ok), 13:19, 16/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вообще-то если делается fork, то надо waitpid, так в очень-очень-очень стародавние времена было, еще задолго до всяких докеров и контейнеров. Еще половина тутошних комментаторов не родилась, а уже такое было в манах, вашумать. :)
    Конечно, если родитель завершается, то все зомби уйдут к #1, но если нет, и работает "вечно", то тоже должен waitpid, даже если он не #1.
     
  • 2.16, _KUL (ok), 06:49, 15/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    С такими "шатаниями" из стороны в стороны данный продукт для продакшена крайне не желательно использовать, только для "посмотреть".
     
     
  • 3.17, Аноним (-), 07:11, 15/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    ну вам то веднее, не то что ребятам из гугла, яндейкса и байду.
     
     
  • 4.35, PabloIII (?), 04:07, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    И давно начали "ребята из Гугла и Яндекса" использовать эту байду в продакшн? Ребята из Байду могут хоть строчить вприсядку -- нашли с кем сравнивать
     

  • 1.2, A.Stahl (ok), 20:39, 14/04/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +14 +/
    >containerd

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

     
     
  • 2.3, о6какатрон (?), 20:48, 14/04/2016 [^] [^^] [^^^] [ответить]  
  • +8 +/
    вамдъ показалосьдъ
     
     
  • 3.5, Какаянахренразница (ok), 21:10, 14/04/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Судя, по комменту ниже, тень Поттеринга показалась не одному лишь гражданину Шталю. Больше похоже на мираж.

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

     

  • 1.4, Аноним (-), 20:49, 14/04/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    >containerd

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

     
     
  • 2.12, Аноним (-), 23:42, 14/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> ...поддержку интеграции с systemd и переносимые профили производительности (предоставлены Google...

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

     

  • 1.7, Аноним (-), 21:52, 14/04/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > При одновременном запуске 1000 контейнеров containerd обеспечивает производительность запуска в 126-140 контейнеров в секунду.

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

     
     
  • 2.13, Аноним (-), 00:21, 15/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Пока ты её любишь.. она уже перестала ломаться при апдейте на новую версию?
     
  • 2.28, Stax (ok), 16:39, 15/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Даже если это и Лёнина поделка. Я уже люблю это

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

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

     

  • 1.8, Аноним (-), 21:53, 14/04/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    во уже прилетели пакеты
     
     
  • 2.10, Led (ok), 22:28, 14/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > во уже прилетели пакеты

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

     
     
  • 3.11, A.Stahl (ok), 23:08, 14/04/2016 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Нет, кассиром. Пакет нужен?
     
     
  • 4.14, Аноним (-), 00:22, 15/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Нет, кассиром. Пакет нужен?

    Очки бы.

     

  • 1.22, Romik (??), 10:45, 15/04/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    https://www.youtube.com/watch?v=PivpCKEiQOQ

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

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

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

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

     
  • 1.25, Аноним (-), 13:01, 15/04/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    "контейнеры", "не заботясь", "запускать произвольные" и прочие buzzwords.
    такое ощущение что айти скатывается к уровню пойти пожрать в макдональдс
     
     
  • 2.30, www2 (??), 18:25, 15/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Ключевые слова "не заботясь". Облака - это тоже из серии "не заботясь получать зарплату".
     
  • 2.33, Аноним (-), 03:02, 16/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > такое ощущение что айти скатывается к уровню пойти пожрать в макдональдс

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

     

  • 1.29, Аноним (-), 17:57, 15/04/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    https://zwischenzugs.wordpress.com/2016/04/12/hitler-uses-docker-annotated/

    Isolation my ass!

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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