Доступен Docker 1.8. Представлена система для запуска Docker-контейнеров поверх гипервизора

15 августа 2015 года

Представлен релиз инструментария для управления изолированными Linux-контейнерами Docker 1.8, предоставляющего высокоуровневый 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.8 новшеств можно отметить:

  • Функциональность Docker Content Trust для проверки достоверности образа контейнера по цифровой подписи, позволяет удостовериться, что образ размещён в репозитории заявленным издателем. Для верификации используется система открытых ключей, при которой образ подписывается закрытым ключом издателя, а затем может быть проверен при помощи публично доступного открытого ключа. Для публикации, верификации и безопасного обновления образов в Docker интегрирован инструментарий Notary, основанный, в свою очередь, на фреймворке The Update Framework (TUF). Проверка осуществляется автоматически при выполнении типовых команд, таких как docker pull, docker push, docker build, docker create и docker run;
  • Представлен Docker Toolbox, cпециализированный инсталлятор для Windows и OS X, упрощающий развёртывание и запуск окружения разработчика Docker.

Docker Toolbox позиционируется как замена Boot2Docker и включает клиентское ПО для Docker, компоненты Machine и Compose, а также систему виртуализации VirtualBox;

  • В разряд стабильных переведена добавленная в прошлом выпуске экспериментальная система для подключения плагинов, выполняемых в форме отдельных процессов-обрабочиков. В разряд стабильный также переведены плагины для организации хранилищ, например, позволяющие работать с сетевыми хранилищами, такими как Flocker, Blockbridge, Ceph, ClusterHQ, EMС и Portworx;
  • Система драйверов для ведения логов, позволяющих реализовать различные схемы сохранения системного журнала, в том числе передачи логов контейнера на внешний syslog-сервер, расширена возможностью передачи логов в системы Graylog и Fluentd. Добавлен драйвер для организации ротации логов на диске;
  • Команда "docker cp" теперь может применяться не только для копирования файлов из контейнера на хост-систему, но и наоборот. Например, "docker cp foo.txt mycontainer:/foo.txt";
  • Для запуска демона Docker представлена новая команда "docker daemon", которую следует использовать вместо опции "-d". Новая команда позволяет явно разделить клиентские опции (docker --help) и опции демона (docker daemon --help);
  • Возможность настройки формата вывода команды "docker ps" через указание опции "--format";
  • Поддержка настройки директории с файлами конфигурации клиента через указание пути в опции --config или переменной окружения DOCKER_CONFIG, что даёт возможность запустить разные экземпляры docker с разными наборами конфигурации;
  • Выпуск инструмента Machine 0.4, предназначенного для быстрого развёртывание хостов в гостевых окружениях систем виртуализации VirtualBox, VMware, AWS, Digital Ocean и Microsoft Azure. Осуществляет создание начинки сервера, установку на него Docker и настройку клиента для работы с данным сервером. В новой версии добавлены стредства настройки движка для использования http-прокси;
  • Выпуск инструмента Swarm 0.4, предоставляющего средства кластеризации для упакованных в контейнеры приложений. Swarm даёт возможность управлять кластером из нескольких хостов Docker (например, созданных с использованием Docker Machine) в форме работы с одним виртуальным хостом. Так как Swarm использует штатный Docker API, он может применяться для управления и другими поддерживающими данный API инструментами, такими как dokku, fig, krane, flynn, deis, docker-ui, shipyard, drone.io, Jenkins. В новой версии улучшена реализация встроенного планировщика и драйвера для интеграции с Mesos (теперь можно использовать инструменты docker для управления кластером Mesos);
  • Выпуск инструмента Docker Compose 1.4, позволяющего организовать работу распределённого на несколько хостов приложения, в работу которого вовлечено несколько контейнеров, запущенных в кластере на базе Docker Swarm. В новой версии значительно увеличена скорость запуска и остановки приложений, пересоздание контейнера производится только при необходимости, обеспечено параллельное выполнение работ. Добавлена возможность назначения произвольных имён контейнерам и поддержка чтения конфигурации из стандартного ввода (можно генерировать файл конфигурации на лету);

Дополнительно можно отметить анонс проекта Hyper (Hypervisor-agnostic Docker Engine), предоставляющего средства для запуска образов контейнеров Docker с использованием полноценных средств виртуализации, в частности, виртуальных машин Xen, KVM и VirtualBox. Hyper даёт возможность добиться более высокого уровня изоляции и безопасности, сохранив при этом такие достоинства систем контейнерной изоляции, как удобство работы, высокую скорость запуска, высокую производительность, небольшой размер контейнера и переносимость.

Для управления контейнером продолжает использоваться инструментарий docker, дополненный утилитой hyper и демоном hyperd. В каждой виртуальной машине запускается урезанное ядро Linux (HyperKernel) и сервис инициализации HyperStart, который выполняет задачу загрузки образов контейнера в виртуальной машине (в каждой виртуальной машине можно запускаться несколько контейнеров), настройки их изоляции и запуска. Кроме HyperKernel и HyperStart в виртуальной машине не запускается никаких системных компонентов. Время загрузки контейнера составляет доли секунды, потребление памяти около 28 Мб ОЗУ на виртуальную машину.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Доступен Docker 1.8. Представлена система для запуска Docker-контейнеров поверх гипервизора», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.