Выпуск cистемы управления контейнерной виртуализацией Docker 18.06

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

Дополнительно объявлено о грядущих изменениях в процессе разработки выпусков Docker Community Edition (CE). Стабильные выпуски (CE Stable) теперь будут формироваться не раз в квартал, а два раза в год, что позволит синхронизировать разработку с такими дистрибутивами, как Ubuntu и Fedora. Для повышение качества стабильных выпусков перед релизом кроме кандидата в релизы будут тестироваться дополнительные бета выпуски.

С целью оперативного доведения новых возможностей до пользователей вместо промежуточных ежемесячных выпусков (CE Edge) будет предоставлен канал nightly с обновляемыми раз в день ночными сборками. Docker 18.06 станет последим выпуском с четырёхмесячным временем сопровождения, а следующий релиз Docker 18.09 будет поддерживаться 7 месяцев. Следом за Docker 18.09 будет сформирован релиз Docker 19.03.

Из функциональных изменений в новом выпуске выделяется реализация нового экспериментального сборочного бэкенда (обеспечивает функциональность команды «docker build») — BuildKit, для активации которого следует установить переменную окружения DOCKER_BUILDKIT=1. Новый бэкенд использует расширяемую модульную архитектуру, поддерживает распараллеливание процесса разрешения зависимостей в несколько потоков, эффективно использует кэширование инструкций и результатов импорта/экспорта, жестко не привязан к формату файлов Dockerfile (могут подключаться обработчики для любых форматов), автоматически выполняет операции сборки мусора, поддерживает вложенный запуск работ, может вызывать распределённые обработчики и не требует в процессе работы полномочий пользователя root.

Из других изменений можно отметить:

  • Улучшение интеграции с системой оркестровки контейнеров Kubernetes: поддержка фильтров сервисов стека, улучшенная обработка пространств имён, поддержка нового Stack API, снятие флага экспериментальной разработки с команд Kubernetes;
  • Поддержка экспорта операций Push и Save;
  • В команду «docker service create» добавлена опция »--init»;
  • Добавлена возможность активации экспериментальных возможностей CLI через переменную окружения DOCKER_CLI_EXPERIMENTAL;
  • Обновлены Cobra и pflag;
  • Клиентский API расширен возможность определения пользовательских HTTP-запросов;
  • Добавлена возможность ведения логов awslogs в неблокирующем режиме;
  • Налажен процесс сборки на платформе OpenBSD.

© OpenNet