The OpenNET Project / Index page

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

Выпуск Docker 1.7. Docker и CoreOS объединили усилия в разработке единого формата контейнеров

24.06.2015 14:34

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

Инструментарий базируется на применении встроенных в ядро Linux штатных механизмов изоляции на основе пространств имён (namespaces) и групп управления (cgroups). Для создания контейнеров предлагается использовать libcontainer (обёртка над namespaces и cgroups), также возможно применение lxc, libvirt, systemd-nspawn, OpenVZ контейнеров с помощью библиотеки LibCT и других систем изоляции. Для формирования контейнера достаточно загрузить базовый образ окружения (docker pull base), после чего можно запускать в изолированных окружениях произвольные приложения (например, для запуска bash можно выполнить "docker run -i -t base /bin/bash").

Из добавленных в Docker 1.7 новшеств можно отметить:

  • Полностью переработан код организации сетевого взаимодействия - связанный с настройкой сети код вынесен в несколько отдельных библиотек, которые можно использовать в сторонних проектах.
  • Интеграция драйвера для хранения образов в файловой системе ZFS;
  • С целью повышения качества кода полностью переписана система разделов хранения;
  • Проведён внутренний рефакторинг, который помог ускорить работу многих компонентов, повысил их стабильность и упростил сопровождение;
  • В команду exec добавлены опции -u|--user для задания владельца нового процесса;
  • Добавлена поддержка настройки квоты CPU для планировщика CFS (Completely Fair Scheduler) через опцию "--cpu-quota";
  • Реализованы средства для управления приоритетом ввода/вывода, включаемые через опцию "--blkio-weight";
  • Параллельно с основной версией выпущен экспериментальный вариант релиза Docker 1.7, в котором представлены изменения, требующие обсуждения перед окончательным включением в стабильную ветку. В частности, в экспериментальный релиз включены значительные изменения в организации работы сети - контейнеры теперь соединяются между собой через разные хосты. Также представлен новый CLI-интерфейс настройки сети, который предоставляет более гибкие возможности в организации сетевого взаимодействия.
  • Вторым важным новшеством экспериментального релиза является поддержка плагинов, выполняемых в форме отдельных процессов-обрабочиков. Первыми реализованы плагины для поддержки бесшовного подключения контейнеров к различным сетевым системам и плагины для организации хранилищ, например, позволяющие работать с сетевыми хранилищами, такими как Flocker.
  • Представлен runC - легковесный универсальный runtime для обеспечения работы контейнеров. runC предоставляет обособленный набор компонентов для запуска контейнеров на широком спектре систем, позволяя обойтись только наличием платформы Docker без других внешних зависимостей - поддержка различных технологий изоляции будет уже встроена в runtime контейнера. Для организации работы с контейнерами runC поддерживает пространства имён Linux (namespaces), различные средства повышения безопасности Linux (SELinux, Apparmor, seccomp, cgroups, capability, pivot_root, сброс uid/gid), live-миграцию (используется CRIU), возможности создания контейнеров в Windows 10, переносимые профили производительности (предоставлены Google). В будущем ожидается поддержка платформ ARM, Power и SPARC, различных аппаратных возможностей (DPDK, sr-iov, tpm, secure enclave).
  • Выпуск инструмента Machine 0.3, предназначенного для быстрого развёртывание хостов в гостевых окружениях систем виртуализации VirtualBox, VMware, AWS, Digital Ocean и Microsoft Azure. Осуществляет создание начинки сервера, установку на него Docker и настройку клиента для работы с данным сервером. В новой версии добавлена возможность передачи настроек демонам Engine и Swarm, реализована поддержка операционных систем Red Hat Enterprise Linux, Fedora, Debian и RancherOS, возможность импорта виртуальных машин, созданных при помощи инструментария Boot2Docker, поддержка копирования файлов между хостами, добавлен новый драйвер generic для настройки Docker на любом хосте по SSH.
  • Выпуск инструмента Swarm 0.3, предоставляющего средства кластеризации для упакованных в контейнеры приложений. Swar даёт возможность управлять кластером из нескольких хостов Docker (например, созданных с использованием Docker Machine) в форме работы с одним виртуальным хостом. Так как Swarm использует штатный Docker API, он может применяться для управления и другими поддерживающими данный API инструментами, такими как dokku, fig, krane, flynn, deis, docker-ui, shipyard, drone.io, Jenkins. В новой версии обеспечена интеграция с Mesos ("docker run" теперь можно запустить в кластере Mesos), возможность запуска нескольких экземпляров первичных серверов Swarm для создания отказоустойчивых систем, полная поддержка Docker API (всё что может быть запущено в Engine теперь можно запустить в Swarm), значительное повышение стабильности.
  • Выпуск инструмента Docker Compose 1.3, позволяющего организовать работу распределённого на несколько хостов приложения, в работу которого вовлечено несколько контейнеров, запущенных в кластере на базе Docker Swarm. В новой версии добавлена возможность пересоздания только изменённых контейнеров (--x-smart-recreate), добавлена поддержка определения меток для привязки сервисов, в файл конфигурации docker-compose.yml добавлены новые опции dockerfile, labels, extra_hosts, pid, cpuset, read_only, security_opt и log_driver.

Одновременно сообщается о формировании под эгидой организации Linux Foundation группы Open Container Project, которая займётся продвижением единого формата контейнеров, который будет поддерживаться различными инструментариями, а также развитием универсального runtime для запуска контейнеров, формируемого на основе libcontainer. В итоге пользователи получат возможность упаковывать свои приложения в универсальные контейнеры, которые будут работать с любым инструментарием, включая Docker, rkt, Kurma и Jetpack.

Создаваемый стандарт будет разработан сообща и изначально не будет привязан к решениям отдельных вендоров, а также будет учитывать повышенные требования к безопасности. В состав группы в том числе вошли давние конкуренты - Docker и CoreOS, ранее пытавшиеся продвигать собственные форматы контейнеров, но теперь решившие объединить свои усилия. В частности, проект CoreOS продвигал на позицию стандарта спецификациею App Container, нацеленную на создание универсального переносимого формата контейнеров и поддержанную Google, Red Hat, Apcera и VMware. Кроме Docker и CoreOS, в состав группы Open Container Project также вошли компании Microsoft, Amazon Web Services, Cisco, Google, EMC, Fujitsu, HP, Huawei, IBM, Intel, Red Hat и VMware.

  1. Главная ссылка к новости (http://www.linuxfoundation.org...)
  2. OpenNews: Первый выпуск инструментария для запуска приложений GNOME в изолированных контейнерах
  3. OpenNews: RancherOS - новая ОС, построенная на идеях контейнерной изоляции
  4. OpenNews: Intel представил Clear Linux с контейнерами приложений на базе виртуализации
  5. OpenNews: Проект CoreOS представил Rocket, конкурирующий с Docker инструментарий управления контейнерами
  6. OpenNews: Canonical и Docker развивают LXD, гипервизор для изолированных контейнеров (дополнено)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/42485-docker
Ключевые слова: docker
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (10) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, фыва (?), 15:14, 24/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    хоть докеры и шляпа.. но хоть унифицированная будет.. авось и пригодитсо
     
  • 1.2, Аноним (-), 15:46, 24/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    жаль openvz уже не догонят. слишком большой хайп вокруг докера.
     
     
  • 2.3, фыва (?), 16:00, 24/06/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    а зачем им openvz догонять то?
    у докеров какбэ другая философия... свой путь как бы...
     
     
  • 3.5, Hile (?), 02:48, 25/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Внутренний мир?)
     
  • 3.6, Вова (?), 11:37, 25/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Видимо коментатор предполагал что догоняющий это как раз openvz. Контейнеры Docker стали next-big-thing, а ситуация с openvz сильно не изменилась. Хотя они openvz приложил немало сил в необходимую инфраструктуру.

    Но почему-то мне кажется что Docker это какой-то проходящий этап. Как-то всё было наколеночно, когда я его пробовал в районе версий 1.0-1.2. И конкуренты тут же появились, даже года форы у Docker не было.

     

  • 1.7, Цезарь (?), 15:33, 25/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Докер пришел и ушел, а OpenVZ просто работает.
     
     
  • 2.8, Аноним (-), 20:05, 25/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > OpenVZ просто работает.

    Но не всегда и не везде, а только на очень редких и специфичных модификациях редхатоядер.

     
  • 2.9, biomassa (?), 20:13, 25/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Вот как только опенвз будет работать на последнем ядре без допоплнительных бубенных танцев, можно будет обсудить его работу, а до тех пор...
     
  • 2.10, Аноним (-), 22:01, 25/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Docker же работает на ядрах:
    - 3.19
    - 4.0
    - 4.1
     
     
  • 3.11, alex (??), 00:57, 26/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    начиная с rhel 6.6 работает
     

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



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

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