В релизе Docker 1.13 добавлено множество новых команд, в т. ч. prune и squash, с помощью которых можно организовать более эффективное использование дискового пространства контейнерами.

Компания Docker 19 января официально объявила о выпуске новой версии 1.13 своего ПО, в которую вошли новые функции для создания контейнеров, управления ими и обеспечения их безопасности.

Среди нового занятного функционала в Docker 1.13 можно отметить новые команды, позволяющие пользователям разобраться в особенностях хранения данных контейнера на диске и управлять соответствующим объемом занимаемой памяти. Новая команда «docker system prune» удаляет неиспользуемые данные, а команда «docker system df» показывает пользователю объем занятого пространства на заданном диске.

Еще эффективнее работать с местом на диске контейнерам Docker помогает новая функция сжатия squash, выполненная в виде экспериментальной опции к команде «docker build». При применении squash множественные слои файловой системы, образующиеся в процессе создания контейнера, схлопываются (сжимаются) в единый слой.

В релизе Docker 1.12, впервые анонсированном в июне 2016-го на конференции DockerCon 2016, в центре внимания была новая возможность интеграции средства оркестровки контейнеров Swarm непосредственно в движок Docker. В обновлении Docker 1.13 режим работы со Swarm дополнительно усовершенствован.

В версии 1.13 пользователь теперь может с помощью стандартной команды «docker-compose» разворачивать сервис Swarm и управлять им, а также задавать нужное количество экземпляров (узлов) для каждого сервиса. В режиме Swarm появилось еще одно улучшение: теперь он интегрирован с новым Secret Management API (API для управления секретными данными), при помощи которого можно безопасно хранить и извлекать конфиденциальные данные, используемые в сервисах Docker.

«В терминологии сервисов Docker Swarm понятие „секрет“ (secret) представляет собой объект данных, например, пароль, личный ключ SSH, SSL-сертификат или другой набор данных, которые нельзя передавать по сети или хранить в незашифрованном виде в Dockerfile или в исходном коде вашего приложения, — говорится в файле коммита функции секретов на Github. — Начиная с версии Docker 1.13 при помощи секретов Docker этими данными можно управлять централизованно и безопасным образом передавать их только в те контейнеры, в которых есть необходимость в этих данных».

Секреты зашифровываются как в месте их хранения, так и при передаче, а доступ к ним получают только те сервисы, которые в данный момент запущены и явным образом получили на это разрешение.

Релиз Docker 1.13 также выиграл от пары инкрементных обновлений технологий мандатного управления доступом в Linux, в частности SELinux (Security Enhanced Linux) и AppArmor. Помимо этого, в версию 1.13 также перейдут исправления безопасности, сделанные в релизе 1.12.6, выпущенном 10 января. В нем была закрыта дыра в безопасности с кодом CVE-2106-9962, суть которой была описана как «небезопасное открытие дескриптора файла позволяет повысить уровень привилегий» — она допускала утечку данных из контейнера.

Релиз Docker 1.13 выпущен на фоне продолжающегося роста объемов рынка контейнерных технологий. В недавнем докладе исследовательской компании 451 Research опубликован ориентировочный доход от технологий контейнеризации приложений, который в 2016 г. составил 762 млн. долл. По прогнозам 451 Research, к 2020 г. доходы от контейнеров вырастут до 2,7 млрд. долл.