Примечания к выпуску Docker Engine 20.10

В этом документе рассмотрены последние изменения, дополнения, известные проблемы и исправления для Docker Engine версии 20.10.

20.10.24

2023-04-04

Обновления

  • Обновляет среду выполнения Go до версии 1.19.7.

  • Обновляет Docker Buildx до v0.10.4.

  • Обновляет containerd до v1.6.20.

  • Обновляет runc до v1.1.5.

Исправления ошибок и улучшения

  • Исправлен ряд проблем, из-за которых зашифрованные оверлейные сети Swarm не могли поддерживать свои гарантии, обращаясь к CVE-2023-28841, CVE-2023-28840 и CVE-2023-28842.

    • Отсутствие поддержки ядром зашифрованных оверлейных сетей теперь отображается как ошибка.

    • Зашифрованные оверлейные сети настраиваются с готовностью, а не ждут подключения нескольких узлов.

    • Зашифрованные оверлейные сети теперь можно использовать в Red Hat Enterprise Linux 9 благодаря использованию модуля ядра xt_bpf.

    • Пользователи оверлейных сетей Swarm должны просмотреть GHSA-vwm3-crmr-xfxw, чтобы убедиться, что не произошло непреднамеренного раскрытия.

  • Обновляет github.com/containerd/fifo до версии 1.1.0, чтобы исправить потенциальную панику moby/moby#45216.

  • Исправлено отсутствующее завершение Bash для установленных cli-плагинов docker/cli # 4091.

20.10.23

19 января 2023 г.

Данный релиз Docker Engine содержит обновленные версии Docker Compose, Docker Buildx, containerd, а также некоторые незначительные исправления ошибок и улучшения.

Обновления

  • Обновляет Docker Compose до v2.15.1.

  • Обновляет Docker Buildx до v0.10.0.

  • Обновляет containerd (пакет containerd.io) до v1.6.15.

  • Обновляет формат версии пакета для docker-compose-cli, чтобы разрешить обновление версии дистрибутива docker/docker-се-упаковка#822.

  • Обновляет среду выполнения Go до версии 1.18.10,

Исправления ошибок и улучшения

  • Устранена проблема, из-за которой docker build давал сбой при использовании --add-host=host.docker.internal:host-gateway с включенным BuildKit moby/moby#44650.

  • Восстановить seccomp: заблокировать вызовы сокетов на AF_VSOCK в профиле по умолчанию moby/moby#44712.

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

    Тем не менее, пользователи AF_VSOCK в контейнерах должны понимать, что это (специальное) семейство адресов в настоящее время не имеет пространства имён ни в одной из версий ядра Linux и может привести к неожиданному поведению, такому как взаимодействие контейнеров напрямую с гипервизорами хоста.

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

20.10.22

2022-12-16

Данный релиз Docker Engine содержит обновленные версии Docker Compose, Docker Scan, containerd, а также некоторые незначительные исправления ошибок и улучшения.

Обновления

  • Обновляет Docker Compose до v2.14.1.

  • Обновляет Docker Scan до v0.23.0.

  • Обновляет containerd (пакет containerd.io) до v1.6.13, чтобы включить исправление для CVE-2022-23471.

  • Обновляет среду выполнения Go до версии 1.18.9, чтобы включить исправления для CVE-2022-41716, CVE-2022-41717 и CVE-2022-41720.

Исправления ошибок и улучшения

  • Улучшено сообщение об ошибке при попытке извлечь неподдерживаемый формат образа или артефакт OCI moby/moby#44413, moby/moby#44569.

  • Исправлена проблема, из-за которой эфемерный диапазон портов хоста игнорировался при выборе случайных портов для контейнеров moby/moby#44476.

  • Исправление ошибок ssh: parse error in message type 27 во время docker build на хостах, использующих OpenSSH 8.9 или выше moby/moby#3862.

  • seccomp: блокировать вызовы сокетов к AF_VSOCK в профиле по умолчанию moby/moby#44564.

20.10.21

2022-10-25

Данный релиз Docker Engine содержит обновленные версии Docker Compose, Docker Scan, containerd, добавленные пакеты для Ubuntu 22.10, а также некоторые незначительные исправления ошибок и улучшения.

Новый

  • Предоставьте пакеты для Ubuntu 22.10 (Kinetic Kudu).

  • Добавлена поддержка allow-nondistributable-artifacts для Docker Hub moby/moby#44313.

Обновления

  • Обновляет Docker Compose до v2.12.2.

  • Обновляет Docker Scan до v0.21.0.

  • Обновляет containerd (пакет containerd.io) до v1.6.9.

  • Обновляет связанную версию BuildKit, чтобы исправить ошибки output clipped, log limit 1MiB reached moby/moby#44339.

Исправления ошибок и улучшения

  • Удаляет экспериментальные ворота для --platform в завершении bash docker/cli # 3824.

  • Исправить панику Invalid standard handle identifier при регистрации Docker Engine в качестве службы из устаревшего интерфейса командной строки в Windows moby/moby#44326.

  • Исправлен запуск команд Git в Cygwin в Windows moby/moby#44332.

20.10.20

2022-10-18

Данный релиз Docker Engine содержит частичное устранение уязвимости Git (CVE-2022-39253) и обновленную обработку ссылок на образа image:tag@digest.

Уязвимость Git позволяет злонамеренно созданному репозиторию Git при использовании в качестве контекста сборки копировать произвольные пути файловой системы в результирующие контейнеры/образы; это может происходить как в демоне, так и в клиентах API, в зависимости от используемых версий и инструментов.

Смягчения, доступные в этом выпуске и в других потребителях демона API, являются частичными и защищают только пользователей, которые создают контекст Git URL (например, git+protocol://). Поскольку уязвимость по-прежнему может быть использована при ручном запуске команд Git, которые взаимодействуют с подмодулями и извлекают их, пользователям следует немедленно перейти на исправленную версию Git для защиты от этой уязвимости. Дополнительные сведения доступны в блоге GitHub («Объявлены уязвимости безопасности Git»).

Обновления

  • Обновляет Docker Compose до v2.12.0.

  • Обновлена обработка ссылок image:tag@digest. При извлечении образа с использованием image:tag@digest («вытягивание по дайджесту») разрешение образы происходит через дайджест с адресацией по содержимому, а image и tag не используются. Хотя это ожидаемо, это может привести к запутанному поведению и потенциально может быть использовано с помощью социальной инженерии для запуска образа, который уже присутствует в локальном хранилище образов. Теперь Docker проверяет, соответствует ли дайджест имени репозитория, используемого для извлечения образа, и в противном случае вызывает ошибку.

  • Обновлена обработка ссылок image:tag@digest. Подробнее см. в разделе «Демон» выше.

Исправления ошибок и улучшения

  • Добавлено смягчение для CVE-2022-39253 при использовании классического Builder с URL-адресом Git в качестве контекста сборки.

  • Добавлено смягчение в классический Builder и обновлен BuildKit до v0.8.3-31-gc0149372 для CVE-2022-39253.

20.10.19

2022-10-14

Данный релиз Docker Engine поставляется с некоторыми исправлениями ошибок и обновленной версией Docker Compose.

Обновления

Исправления ошибок и улучшения

  • Исправлена проблема, которая могла привести к панике во время docker builder prune или docker system prune moby/moby#44122.

  • Исправлена ошибка, из-за которой использование docker volume prune приводило к удалению томов, которые все ещё использовались, если демон работал с «живым восстановлением» и был перезапущен moby/moby#44238.

20.10.18

09.09.2022

Данный релиз Docker Engine поставляется с исправлением незначительной проблемы безопасности, исправлениями незначительных ошибок и обновленными версиями Docker Compose, Docker Buildx, containerd и runc.

Обновления

  • Обновляет Docker Buildx до v0.9.1.

  • Обновляет Docker Compose до v2.10.2.

  • Обновляет containerd (пакет containerd.io) до v1.6.8.

  • Обновляет версию runc до v1.1.4.

  • Обновляет среду выполнения Go до 1.18.6, которая содержит исправления для CVE-2022-27664 и CVE-2022-32190.

Исправления ошибок и улучшения

  • Добавлено завершение Bash для Docker Compose docker/cli # 3752.

  • Исправлена проблема, из-за которой возможности файлов не сохранялись во время сборки moby/moby#43876.

  • Исправлена проблема, которая могла привести к панике, вызванной одновременным чтением и записью карты moby/moby#44067.

  • Устраните уязвимость системы безопасности, связанную с дополнительными групповыми разрешениями, которая могла позволить процессу контейнера обходить ограничения основной группы внутри контейнера CVE-2022-36109, GHSA-rc4r-wh2q-q6c4.

  • seccomp: добавлена поддержка системных вызовов Landlock в политике по умолчанию moby/moby#43991.

  • seccomp: обновить политику по умолчанию для поддержки новых системных вызовов, представленных в ядре 5.12–5.16 moby/moby#43991.

  • Устранена проблема, из-за которой поиск в кэше манифестов образов приводил к сбою, что приводило к избыточному обращению к реестру образов moby/moby#44109.

  • Устранена проблема, из-за которой процессы exec и проверки работоспособности не прекращались по истечении времени ожидания moby/moby#44018.

20.10.17

2022-06-06

Данный релиз Docker Engine поставляется с обновленными версиями компонентов Docker Compose и containerd и runc, а также с некоторыми незначительными исправлениями ошибок.

Обновления

Исправления ошибок и улучшения

  • Удаляет звездочку из команд Docker в сценарии завершения zsh docker/cli # 3648.

  • Исправлен конфликт портов Windows с опубликованными портами в режиме хоста для оверлея moby/moby#43644.

  • Убедиться, что настройка производительности всегда применяется к песочницам libnetwork moby/moby#43683.

20.10.16

12 мая 2022 г.

В этом выпуске Docker Engine исправлена регрессия в сборках Docker CLI для macOS, исправлена проблема с docker stats при использовании containerd 1.5 и выше, а также обновлена среда выполнения Go, чтобы включить исправление для CVE-2022-29526.

Обновления

  • Обновляет зависимость golang.org/x/sys, которая содержит исправление для CVE-2022-29526.

  • Обновлена зависимость времени сборки golang.org/x/sys, которая содержит исправление для CVE-2022-29526.

  • Среда выполнения Go обновлена до 1.17.10, которая содержит исправление для CVE-2022-29526.

Исправления ошибок и улучшения

  • Исправлена регрессия в двоичных файлах для macOS, представленная в 20.10.15, которая приводила к панике docker/cli # 43426.

  • Исправлена проблема, из-за которой docker stats показывал пустую статистику при работе с containerd 1.5.0 или выше moby/moby#43567.

  • Использованы «слабые» зависимости для подключаемого модуля CLI docker scan, чтобы предотвратить ошибку «конфликтующих запросов», когда пользователи выполняли автономную установку из загруженных RPM-пакетов docker/docker-се-упаковка # 659.

20.10.15

2022-05-05

Данный релиз Docker Engine поставляется с обновленными версиями компонентов compose, buildx, containerd и runc, а также с некоторыми незначительными исправлениями ошибок.

Обновления

  • Обновляет Docker Compose до v2.5.0.

  • Обновляет Docker Buildx до v0.8.2.

  • Обновляет среду выполнения Go до 1.17.9.

  • Обновляет containerd (пакет containerd.io) до v1.6.4.

  • Обновляет версию runc до v1.1.1.

Исправления ошибок и улучшения

  • Используйте RWMutex для stateCounter, чтобы предотвратить потенциальную перегрузку блокировки moby/moby#43426.

  • Устранена проблема, из-за которой демону не удавалось найти доступный диапазон IP-адресов при некоторых условиях moby/moby#43360

  • Добавляет пакеты для потока CentOS 9 и Fedora 36.

Известные вопросы

20.10.14

23 марта 2022 г.

В этом выпуске Docker Engine наследуемые возможности по умолчанию для контейнеров обновлены для адреса CVE-2022-24769, также включена новая версия среды выполнения containerd.io для решения той же проблемы.

Обновления

  • Обновляет наследуемые возможности по умолчанию.

  • Обновляет наследуемые возможности по умолчанию для контейнеров, используемых во время сборки.

  • Обновляет containerd (пакет containerd.io) до v1.5.11.

  • Обновляет docker buildx до v0.8.1.

20.10.13

10 марта 2022 г.

Данный релиз Docker Engine содержит некоторые исправления ошибок и изменения упаковки, обновления команд docker scan и docker buildx, обновленную версию среды выполнения Go и новые версии среды выполнения containerd.io. Вместе с этим выпуском теперь мы также предоставляем пакеты .deb и .rpm Docker Compose V2, которые можно установить с помощью (дополнительного) пакета docker-compose-plugin.

Новый

  • Предоставьте пакеты .deb и .rpm для Docker Compose V2. Docker Compose v2.3.3 теперь можно установить в Linux с помощью пакетов docker-compose-plugin, которые предоставляют подкоманду docker compose в интерфейсе командной строки Docker. Плагин Docker Compose также можно установить и запускает отдельно, чтобы использовать его в качестве замены docker-compose (Docker Compose V1) docker/docker-се-упаковка # 638. Пакет compose-cli-plugin также можно использовать в более старой версии Docker CLI с поддержкой подключаемых модулей CLI (Docker CLI 18.09 и выше).

  • Предоставьте пакеты для предстоящего релиза Ubuntu 22.04 «Jammy Jellyfish» LTS docker/docker-се-упаковка # 645, docker/контейнер-упаковка#271.

Обновления

  • Обновлена связанная версия buildx до v0.8.0.

  • Обновляет docker buildx до v0.8.0.

  • Обновляет docker scan (docker-scan-plugin) до v0.17.0.

  • Обновляет containerd (пакет containerd.io) до v1.5.10.

  • Обновляет связанную версию runc до v1.0.3.

  • Обновляет среду выполнения Golang до Go 1.16.15.

  • Обновляет драйвер журнала fluentd, чтобы предотвратить потенциальный сбой демона и предотвратить зависание контейнеров при использовании fluentd-async-connect=true, а удаленный сервер недоступен moby/moby#43147.

Исправления ошибок и улучшения

  • Исправьте состояние гонки при обновлении состояния контейнера moby/moby#43166.

  • Обновляет зависимость etcd, чтобы демон не мог неправильно удерживать блокировки файлов moby/moby#43259

  • Исправлено обнаружение пространств имён пользователей при настройке sysctl net.ipv4.ping_group_range по умолчанию moby/moby#43084.

  • Повторяет загрузку манифестов образов, если во время извлечения образа произошел сбой подключения moby/moby#43333.

  • Различные исправления в справке по командной строке и документации по API.

  • Предотвращение OOM при использовании «локального» драйвера ведения журнала с контейнерами, создающими большое количество сообщений журнала moby/moby#43165.

20.10.12

2021-12-13

Данный релиз Docker Engine содержит изменения только в упаковке и предоставляет обновления для команд docker scan и docker buildx. Версии docker scan до v0.11.0 не могут обнаружить Log4j 2 CVE-2021-44228. В этом выпуске мы отправляем обновленную версию docker scan, чтобы помочь вам сканировать образы на наличие этой уязвимости.

Примечание

Команда docker scan в Linux в настоящее время поддерживается только на платформах x86. Мы ещё не предоставляем пакет для других аппаратных архитектур в Linux.

Функция docker scan предоставляется в виде отдельного пакета, и, в зависимости от вашего обновления или метода установки, «сканирование докеров» может не обновляться автоматически до последней версии. Используйте приведенные далее инструкции, чтобы обновить docker scan до последней версии. Вы также можете использовать данные инструкции для установки или обновления пакета docker scan без обновления Docker Engine:

В дистрибутивах на основе .deb, таких как Ubuntu и Debian:

$ apt-get update && apt-get install docker-scan-plugin

В дистрибутивах на основе rpm, таких как CentOS или Fedora:

$ yum install docker-scan-plugin

После обновления убедиться, что у вас установлена последняя версия docker scan:

$ docker scan --accept-license --version
Version:    v0.12.0
Git commit: 1074dd0
Provider:   Snyk (1.790.0 (standalone))

Читает запись в нашем блоге о CVE-2021-44228., чтобы узнать, как использовать команду docker scan для проверки уязвимых образов.

Упаковка

  • Обновляет docker scan до v0.12.0.

  • Обновляет docker buildx до v0.7.1.

  • Обновляет среду выполнения Golang до Go 1.16.12.

20.10.11

2021-11-17

Важно

Из-за изменения сети/http в Go 1.16 прокси-серверы HTTP, настроенные с помощью переменной среды $HTTP_PROXY, больше не используются для соединений TLS (https://). Убедиться, что вы также установили переменную среды $HTTPS_PROXY для обработки запросов к URL-адресам https://.

Обратитесь к Раздел прокси HTTP/HTTPS, чтобы узнать, как настроить Docker Daemon для использования прокси-сервера.

Распределение

Окна

  • Исправьте файл panic.log с набором атрибутов только для чтения moby/moby#42987.

Упаковка

  • Обновляет containerd до v1.4.12, чтобы смягчить последствия CVE-2021-41190.

  • Обновляет среду выполнения Golang до Go 1.16.10.

20.10.10

2021-10-25

Важно

Из-за изменения сети/http в Go 1.16 прокси-серверы HTTP, настроенные с помощью переменной среды $HTTP_PROXY, больше не используются для соединений TLS (https://). Убедиться, что вы также установили переменную среды $HTTPS_PROXY для обработки запросов к URL-адресам https://.

Обратитесь к Раздел прокси HTTP/HTTPS, чтобы узнать, как настроить Docker Daemon для использования прокси-сервера.

Строитель

  • Исправьте логику сопоставления платформ, чтобы исправить docker build, использующую отсутствие образов в локальном кэше образов на компьютерах Arm при использовании BuildKit moby/moby#42954

Время выполнения

  • Добавляет поддержку системного вызова clone3 в политику seccomp по умолчанию для поддержки запуска контейнеров на основе последних версий Fedora и Ubuntu. moby/moby/#42836.

  • Windows: обновляет библиотеку hcsshim, чтобы исправить ошибку в обработке разреженных файлов в слоях контейнера, обнаруженную недавними изменениями в Windows moby/moby#42944.

  • Исправлены некоторые ситуации, когда docker stop мог навсегда зависнуть moby/moby#42956.

Swarm

  • Устранена проблема, из-за которой при обновлении службы не выполнялся откат при сбое moby/moby#42875.

Упаковка

  • Добавляет пакеты для Ubuntu 21.10 «Impish Indri» и Fedora 35.

  • Обновляет docker scan до версии 0.9.0

  • Обновляет среду выполнения Golang до Go 1.16.9.

20.10.9

2021-10-04

Данный релиз представляет собой релиз безопасности с исправлениями безопасности в интерфейсе командной строки, среде выполнения, а также обновленными версиями пакета containerd.io.

Важно

Из-за изменения сети/http в Go 1.16 прокси-серверы HTTP, настроенные с помощью переменной среды $HTTP_PROXY, больше не используются для соединений TLS (https://). Убедиться, что вы также установили переменную среды $HTTPS_PROXY для обработки запросов к URL-адресам https://.

Обратитесь к Раздел прокси HTTP/HTTPS, чтобы узнать, как настроить Docker Daemon для использования прокси-сервера.

Клиент

  • CVE-2021-41092 Убедиться, что в конфигурации аутентификации по умолчанию установлено поле адреса, чтобы предотвратить отправку учетных данных в реестр по умолчанию.

Время выполнения

  • CVE-2021-41089 Создаёт родительские каталоги внутри chroot во время docker cp, чтобы предотвратить изменение разрешений для существующих файлов в файловой системе хоста специально созданным контейнером.

  • CVE-2021-41091 Заблокируйте права доступа к файлам, чтобы запрещает непривилегированным пользователям обнаруживать и выполнять программы в /var/lib/docker.

Упаковка

Известная проблема

Двоичный файл ctr, поставляемый со статическими пакетами этого релиза, не связан статически и не будет работать в образах Docker, использующих alpine в качестве базового образа. Пользователи могут установить пакет libc6-compat или загружает предыдущую версию двоичного файла ctr в качестве временного решения. Дополнительные сведения см. в билете containerd, связанном с этой проблемой: контейнерд/контейнерд#5824.

  • Обновляет среду выполнения Golang до Go 1.16.8, которая содержит исправления для CVE-2021-36221 и CVE-2021-39293

  • Обновляет статические двоичные файлы и пакеты containerd.io rpm и deb до containerd v1.4.11 и runc v1.0.2 по адресу CVE-2021-41103.

  • Обновляет связанную версию buildx до версии 0.6.3 для пакетов rpm и deb.

20.10.8

03.08.2021

Важно

Из-за изменения сети/http в Go 1.16 прокси-серверы HTTP, настроенные с помощью переменной среды $HTTP_PROXY, больше не используются для соединений TLS (https://). Убедиться, что вы также установили переменную среды $HTTPS_PROXY для обработки запросов к URL-адресам https://.

Обратитесь к Раздел прокси HTTP/HTTPS, чтобы узнать, как настроить Docker Daemon для использования прокси-сервера.

Устаревание

  • Устарела поддержка зашифрованных закрытых ключей TLS. Устаревшее шифрование PEM, как указано в RFC 1423, изначально небезопасно. Поскольку он не аутентифицирует зашифрованный текст, он уязвим для атак оракула заполнения, которые могут позволить злоумышленнику восстановить открытый текст. Поддержка зашифрованных закрытых ключей TLS теперь помечена как устаревшая и будет удалена в следующем выпуске. docker/cli # 3219

  • Устарела поддержка стека Kubernetes. После прекращения поддержки Compose на Kubernetes поддержка Kubernetes в командах stack и context в интерфейсе командной строки Docker теперь помечена как устаревшая и будет удалена в следующем выпуске docker/cli # 3174.

Клиент

  • Исправьте ошибки Invalid standard handle identifier в Windows docker/cli # 3132.

Без корней

  • Избегать ошибки can't open lock file/run/xtables.lock: Permission denied на хостах SELinux moby/moby#42462.

  • Отключает overlay2 при работе с SELinux, чтобы предотвратить ошибки отказа в разрешении moby/moby#42462.

  • Исправлена ошибка x509: certificate signed by unknown authority в openSUSE Tumbleweed moby/moby#42462.

Время выполнения

  • Выводит предупреждение при использовании параметра --platform для извлечения образа с одной архитектурой, который не соответствует указанной архитектуре moby/moby#42633.

  • Исправлено некорректное предупреждение Your kernel does not support swap memory limit при работе с cgroups v2 moby/moby#42479.

  • Windows: исправлена ситуация, когда контейнеры не останавливались, если HcsShutdownComputeSystem возвращал ошибку ERROR_PROC_NOT_FOUND moby/moby#42613

Swarm

  • Исправлена возможность существования перекрывающихся IP-адресов в результате того, что узлу не удалось очистить свои старые IP-адреса балансировщика нагрузки moby/moby#42538

  • Исправлена взаимоблокировка в брокере журналов («диспетчер остановлен») moby/moby#42537

Упаковка

Известная проблема

Двоичный файл ctr, поставляемый со статическими пакетами этого релиза, не связан статически и не будет работать в образах Docker, использующих alpine в качестве базового образа. Пользователи могут установить пакет libc6-compat или загружает предыдущую версию двоичного файла ctr в качестве временного решения. Дополнительные сведения см. в билете containerd, связанном с этой проблемой: контейнерд/контейнерд#5824.

20.10.7

2021-06-02

Клиент

  • Подавить предупреждения для устаревших контрольных групп docker/cli # 3099.

  • Запрет отправки сигналов SIGURG в контейнер в Linux и macOS. Среда выполнения Go (начиная с Go 1.14) использует внутренние сигналы SIGURG в качестве прерывания для поддержки вытесняемых системных вызовов. В ситуациях, когда интерфейс командной строки Docker был подключен к контейнеру, данные прерывания перенаправлялись в контейнер. Это исправление изменяет интерфейс командной строки Docker так, чтобы он игнорировал сигналы SIGURG docker/cli # 3107, moby/moby#42421.

Строитель

  • Обновляет BuildKit до версии v0.8.3-3-g244e8cde moby/moby#42448:

    • Преобразовывает относительные точки монтирования для монтирования exec в исполнителе, чтобы обойти критическое изменение в runc v1.0.0-rc94 и выше. moby/билдкит#2137.

    • Добавить повторную попытку отправки образа с ошибками 5xx. moby/билдкит#2043.

    • Исправлена ошибка, из-за которой кеш сборки не становился недействительным при переименовании файла, который копируется с помощью команды COPY с подстановочным знаком. Обратите внимание, что это изменение делает недействительными существующие кэши сборки для команд копирования, использующих подстановочный знак. moby/билдкит#2018.

    • Исправлена ошибка, из-за которой кеш сборки не становился недействительным при использовании монтирования moby/билдкит#2076.

  • Исправление сбоев сборки, когда образ FROM не кэшируется при использовании устаревших образов схемы 1 moby/moby#42382.

Журналирование

  • Обновляет пакет SDK hcsshim, чтобы сделать журналы демона в Windows менее подробными moby/moby#42292.

Без корней

  • Исправьте возможности, которые не учитывались, когда образ был создан на демоне с включенными пространствами имён пользователей moby/moby#42352.

Нетворкинг

  • Обновляет libnetwork, чтобы исправить публикацию портов в средах с параметром загрузки ядра ipv6.disable=1 и устранить взаимоблокировку, вызывающую сбой внутреннего поиска DNS moby/moby#42413.

Вклад

  • Обновляет rootlesskit до версии 0.14.2, чтобы исправить тайм-аут при запуске прокси-сервера пользовательской среды с драйвером порта slirp4netns moby/moby#42294.

  • Исправление ошибок «Устройство или ресурс занято» при запуске docker-in-docker на демоне без рута moby/moby#42342.

Упаковка

20.10.6

2021-04-12

Клиент

  • Поддержка Apple Silicon (darwin/arm64) для Docker CLI docker/cli # 3042

  • config: выводит предупреждение об устаревании при возврате к конфигурационному файлу до версии 1.7.0 ~/.dockercfg. Поддержка этого файла будет удалена в будущем выпуске docker/cli # 3000

Строитель

  • Исправлена ошибка, из-за которой классический сборщик молча игнорировал неподдерживаемые параметры Dockerfile и предлагал включить BuildKit вместо moby/moby#42197

Журналирование

  • json-файл: исправление спорадических неожиданных ошибок EOF moby/moby#42174

Нетворкинг

  • Исправлена регрессия в Docker 20.10, из-за которой адреса IPv6 больше не привязывались по умолчанию при сопоставлении портов moby/moby#42205

  • Исправьте неявные сопоставления портов IPv6, не включенные в ответ API. До Docker 20.10 опубликованные порты по умолчанию были доступны как через IPv4, так и через IPv6, но API включал только информацию о сопоставлении IPv4 (0.0.0.0) moby/moby#42205

  • Исправлена регрессия в Docker 20.10, из-за которой прокси-сервер docker не завершался во всех случаях moby/moby#42205

  • Исправлена ошибка, из-за которой правила переадресации iptables не очищались при удалении контейнера moby/moby#42205

Упаковка

Плагины

  • Исправлена ошибка, из-за которой плагин Docker создавал плагины, несовместимые со старыми версиями Docker moby/moby#42256

Без корней

  • Обновляет RootlessKit до v0.14.1 (см. также v0.14.0 v0.13.2) moby/moby#42186 moby/moby#42232

  • dockerd-rootless-setuptool.sh: создает контекст CLI «без root» moby/moby#42109

  • dockerd-rootless.sh: запрещает запуск от имени пользователя root moby/moby#42072

  • Исправьте «операция не разрешена» при установке привязки существующих монтирований moby/moby#42233

  • overlay2: исправить «createDirWithOverlayOpaque(…) … ошибка ввода/вывода» moby/moby#42235

  • overlay2: поддержка опции «userxattr» (ядро 5.11) moby/moby#42168

  • btrfs: разрешить непривилегированному пользователю удалять подтомы (ядро >= 4.18) moby/moby#42253

  • cgroup2: перемещает cgroup v2 из экспериментального moby/moby#42263

20.10.5

2021-03-02

Клиент

  • Восстановите docker/cli # 2960, чтобы исправить зависание в docker start --attach и удаляет ложные сообщения Unsupported signal: <nil>. Discarding. docker/cli # 2987.

20.10.4

2021-02-26

Строитель

  • Исправлено неверное совпадение кеша для встроенного импорта кеша с пустыми слоями moby/moby#42061

  • Обновляет BuildKit до версии 0.8.2 moby/moby#42061

    • преобразователь: избегать кэширования ошибок при выборке токена

    • fileop: исправить контрольную сумму, чтобы она содержала индексы входных данных, предотвращающие определённые промахи кеша

    • Исправление проблем с подсчетом ссылок при типизированных ошибках со ссылками на монтирование (исправление ошибок invalid mutable ref)

    • git: установить токен только для основного удаленного доступа, что позволяет клонировать подмодули с разными учетными данными

  • Убедиться, что большие двоичные объекты удалены в/var/lib/docker/buildkit/content/blobs/sha256 после извлечения. Чтобы очистить старое состояние, запускает builder prune moby/moby#42065

  • Исправлена регрессия параллельной синхронизации по запросу moby/moby#42049

  • Убедиться, что файлы состояния libnetwork не пропускают moby/moby#41972

Клиент

  • Исправить панику на docker login, если файл конфигурации отсутствует docker/cli # 2959

  • Исправить WARNING: Error loading config file: .dockercfg: $HOME is not defined docker/cli # 2958

Время выполнения

  • информация о докере: отключить необработанные предупреждения moby/moby#41958

  • Избегать создания родительских каталогов для XGlobalHeader moby/moby#42017

  • Используйте разрешения 0755 при создании отсутствующих каталогов moby/moby#42017

  • Возвращает к списку манифестов, когда ни одна платформа не соответствует конфигурации образа moby/moby#42045 moby/moby#41873

  • Исправлена паника демона в установках с настраиваемой средой выполнения по умолчанию, настроенной moby/moby#41974

  • Исправить панику, когда конфигурация демона пуста moby/moby#41976

  • Исправить панику демона при запуске контейнера с недопустимым правилом cgroup устройства moby/moby#42001

  • Исправлен параметр userns-remap, когда имя пользователя и UID совпадают с moby/moby#42013

  • статический: обновить двоичный файл runc до версии 1.0.0-rc93 moby/moby#42014

Логгер

  • Уважайте конфигурацию labels-regex, даже если labels не установлен moby/moby#42046

  • Правильно обрабатывать длинные сообщения журнала, не позволяя awslogs в неблокирующем режиме разделять события размером более 16 КБ мобимоби#41975

Без корней

  • Предотвратите зависание службы при остановке, установив для systemd KillMode смешанный moby/moby#41956

  • dockerd-rootless.sh: добавить защиту от опечаток moby/moby#42070

  • Обновляет rootlesskit до версии 0.13.1, чтобы исправить обработку адресов IPv6 moby/moby#42025

  • разрешить mknodding FIFO внутри userns moby/moby#41957

Безопасность

  • профили: seccomp: обновление списка системных вызовов Linux 5.11 moby/moby#41971

Swarm

  • Исправлена ошибка, из-за которой пульс не сохранялся после перезапуска moby/moby#42060

  • Исправление потенциально зависших задач moby/moby#42060

  • Исправьте флаги --update-order и --rollback-order, когда предоставляется только --update-order или --rollback-order docker/cli # 2963

  • Исправлена ошибка, из-за которой docker service rollback возвращал ненулевой код выхода в некоторых ситуациях docker/cli # 2964

  • Исправлено непоследовательное направление индикатора выполнения на docker service rollback docker/cli # 2964

20.10.3

01.02.2021

Безопасность

  • CVE-2021-21285 Предотвращение сбоя демона Docker из-за недопустимого образа

  • CVE-2021-21284 Заблокируйте права доступа к файлам, чтобы переназначенный корень не мог получает доступ к состоянию Docker

  • Убедиться, что профили AppArmor и SELinux применяются при сборке с помощью BuildKit

Клиент

  • Проверяйте контексты перед их импортом, чтобы снизить риск выхода извлеченных файлов из хранилища контекстов

  • Windows: запрещает выполнение определённых двоичных файлов из текущего каталога docker/cli # 2950

20.10.2

04.01.2021

Время выполнения

  • Исправление зависания при запуске демона при восстановлении контейнеров с политиками перезапуска, но при этом не удается запускает moby/moby#41729

  • overlay2: исправлена ошибка, не позволяющая создавать или запускать контейнеры, когда длина корня данных составляет 24 байта moby/moby#41830

  • systemd: отправить sd_notify STOPPING=1 при завершении работы moby/moby#41832

Нетворкинг

Swarm

  • Исправлена фильтрация для сервисных режимов replicated-job и global-job moby/moby#41806

Упаковка

20.10.1

2020-12-14

Строитель

  • buildkit: обновлен до v0.8.1 с различными исправлениями moby/moby#41793

Упаковка

20.10.0

2020-12-08

Устаревание/удаление

Обзор всех устаревших функций см. на странице Устаревшие функции движка.

  • Предупреждения и уведомление об устаревании при отправке docker pull из несовместимых реестров, не поддерживающих извлечение путём дайджеста docker/cli # 2872

  • Предупреждения Sterner и уведомление об устаревании для неаутентифицированного доступа по TCP moby/moby#41285

  • Устарело ядро KernelMemory (docker run --kernel-memory) moby/moby#41254 docker/cli # 2652

  • Устарел драйвер хранилища aufs docker/cli # 1484

  • Устарели сети обнаружения хостов и сети наложения с внешними хранилищами k/v moby/moby#40614 moby/moby#40510

  • Устаревший синтаксис Dockerfile «значение имени ENV», используйте ENV name=value вместо docker/cli # 2743

  • Удаляет устаревший параметр «фильтр» для API версии 1.41 и выше moby/moby#40491

  • Отключает схему 1 манифеста распространения v2 при отправке moby/moby#41295

  • Удаляет взлом MalformedHostHeaderOverride, нарушающий старые клиенты докеров (<= 1.12), и в этом случае устанавливает DOCKER_API_VERSION moby/moby#39076

  • Удаляет подкоманды «docker engine» docker/cli # 2207

  • Удаляет экспериментальное «развертывание» из файлов «dab» docker/cli # 2216

  • Удаляет устаревшие флаги docker search --automated и --stars docker/cli # 2338

  • Больше не разрешены зарезервированные пространства имён в метках движка docker/cli # 2326

API

  • Обновляет версию API до версии 1.41

  • Не требовать «экспериментального» для метрик API moby/moby#40427

  • GET/events теперь возвращает события prune после завершения сокращения ресурсов moby/moby#41259

    • События сокращения возвращаются для container, network, volume, image и builder и имеют атрибут reclaimed, указывающий объём освобожденного пространства (в байтах)

  • Добавляет параметр статистики one-shot, чтобы не использовать статистику moby/moby#40478

  • Добавление информации о версии ОС в API информации о системе (/info) moby/moby#38349

  • Добавляет DefaultAddressPools в информацию о докере moby/moby#40714

  • Добавлена поддержка API для PidsLimit в службах moby/moby#39882

Строитель

  • buildkit,dockerfile: поддержка параметров RUN --mount без указания экспериментальной директивы dockerfile #syntax. moby/билдкит#1717

  • dockerfile: команда ARG теперь поддерживает определение нескольких аргументов сборки в одной строке аналогично ENV moby/билдкит#1692

  • dockerfile: флаг --chown в ADD теперь позволяет расширение параметра moby/билдкит#1473

  • buildkit: получение токенов авторизации перенесено на сторону клиента (если клиент это поддерживает). Пароли больше не попадают в демон сборки, и пользователи могут видеть из вывода сборки, когда осуществляется доступ к учетным данным или токенам. moby/билдкит#1660

  • buildkit: ошибки подключения при обмене данными с реестром для push и pull теперь вызывают повторную попытку moby/билдкит#1791

  • buildkit: исходный код Git теперь поддерживает аутентификацию токена с помощью секретов сборки moby/moby#41234 docker/cli # 2656 moby/билдкит#1533

  • buildkit: сборка из исходного кода git теперь поддерживает переадресацию сокета SSH для аутентификации moby/билдкит#1782

  • buildkit: Избегать сборок, которые генерируют избыточные журналы, чтобы вызвать сбой или замедлить сборку. При необходимости выполняется клиппинг. moby/билдкит#1754

  • buildkit: изменяет профиль Seccomp по умолчанию на тот, который предоставлен Docker moby/билдкит#1807

  • buildkit: улучшена поддержка раскрытия сокета агента SSH в Windows moby/билдкит#1695

  • buildkit: отключить усечение по умолчанию при использовании –progress=plain moby/билдкит#1435

  • buildkit: Разрешить лучшую обработку клиентских сеансов, когда они используются несколькими сборками moby/билдкит#1551

  • buildkit: секреты: разрешить предоставление секретов с env moby/moby#41234 docker/cli # 2656 moby/билдкит#1534

    • Поддержка --secret id=foo,env=MY_ENV в качестве альтернативы для хранения секретного значения в файле.

    • --secret id=GIT_AUTH_TOKEN загрузит env, если он существует, а файла нет.

  • buildkit: поддержка запасных вариантов зеркал, небезопасного TLS и пользовательской конфигурации TLS moby/moby#40814

  • buildkit: remotecache: посещайте каждый элемент только один раз при просмотре результатов moby/moby#41234 moby/билдкит#1577

    • Улучшает производительность и использование ЦП на больших графиках

  • buildkit: проверяет удаленный, если локальная платформа образа не соответствует moby/moby#40629

  • buildkit: экспорт образа: используйте правильный тип носителя при создании больших двоичных объектов нового слоя moby/moby#41234 moby/билдкит#1541

  • buildkit: progressui: исправить форматирование времени журналов moby/moby#41234 docker/cli # 2656 moby/билдкит#1549

  • buildkit: устранение проблемы с containerd при параллельной отправке moby/moby#41234 moby/билдкит#1548

  • buildkit: встроенный кеш: исправление обработки повторяющихся больших двоичных объектов moby/moby#41234 moby/билдкит#1568

  • Разрешить ssh:// для URL-адресов удаленного контекста moby/moby#40179

  • builder: удаляет обработку сеанса устаревшей сборки (была экспериментальной) moby/moby#39983

Клиент

  • Добавлена поддержка заданий swarm в CLI docker/cli # 2262

  • Добавляет -a/--all-tags в docker push docker/cli # 2220

  • Добавлена поддержка аутентификации имени пользователя/пароля Kubernetes docker/cli # 2308

  • Добавляет --pull=missing|always|never в run и create команды docker/cli # 1498

  • Добавляет флаг --env-file в docker exec для анализа переменных среды из файла docker/cli # 2602

  • Добавляет сокращение -n для опции --tail docker/cli # 2646

  • Добавляет лог-драйвер и опции для проверки сервиса в «красивом» формате docker/cli # 1950

  • docker run: указывает режим пространства имён cgroup с --cgroupns docker/cli # 2024

  • Команда docker manifest rm для удаления черновика списка манифестов из локального хранилища docker/cli # 2449

  • Добавляет «контекст» в «версия Docker» и «информация о докере» docker/cli # 2500

  • Распространение флага платформы на создание контейнера API docker/cli # 2551

  • Флаг docker ps --format теперь имеет заполнитель .State для печати состояния контейнера без дополнительных сведений о времени безотказной работы и проверке работоспособности docker/cli # 2000

  • Добавлена поддержка схемы docker-compose v3.9 docker/cli # 2073

  • Добавлена поддержка Docker Push --quiet docker/cli # 2197

  • Скрыть флаги, которые не поддерживаются BuildKit, если BuildKit включён docker/cli # 2123

  • Обновляет описание флага для docker rm -v, чтобы уточнить, что данный параметр удаляет только анонимные (безымянные) тома docker/cli # 2289

  • Улучшена печать задач для служб докеров docker/cli # 2341

  • информация о докере: список подключаемых модулей CLI в алфавитном порядке docker/cli # 2236

  • Исправлен порядок обработки флагов --label-add/--label-rm, --container-label-add/--container-label-rm и --env-add/--env-rm в docker service update, чтобы разрешить замену существующих значений docker/cli # 2668

  • Исправлена ошибка, из-за которой docker rm --force возвращал ненулевой код выхода, если один или несколько контейнеров не существовали docker/cli # 2678

  • Улучшите отображение статистики памяти, используя total_inactive_file вместо cache docker/cli # 2415

  • Защитите себя от файлов YAML с чрезмерным псевдонимом docker/cli # 2117

  • Разрешить использование расширенного синтаксиса при настройке конфигурации или секрета только с исходным полем docker/cli # 2243

  • Исправлено чтение файлов конфигурации, содержащих аутентификацию username и password, даже если auth пуст docker/cli # 2122

  • docker cp: предотвратить NPE при сбое в назначении статистики docker/cli # 2221

  • config: сохраняет право собственности и разрешения на конфигурационный файл docker/cli # 2228

Журналирование

  • Поддержка чтения docker logs со всеми драйверами ведения журналов (максимальные усилия) moby/moby#40543

  • Добавлен параметр журнала splunk-index-acknowledgment для работы с Splunk HEC с включенным подтверждением индекса moby/moby#39987

  • Добавить частичные метаданные в журналы journald moby/moby#41407

  • Уменьшает выделение памяти для программы чтения файлов журнала moby/moby#40796

  • Fluentd: добавляет fluentd-async, fluentd-request-ack и устарели fluentd-async-connect moby/moby#39086

Время выполнения

  • Поддержка cgroup2 moby/moby#40174 moby/moby#40657 moby/moby#40662

  • cgroup2: использовать драйвер cgroup «systemd» по умолчанию, если доступен moby/moby#40846

  • новый драйвер хранилища: fuse-overlayfs moby/moby#40483

  • Обновляет двоичный файл containerd до версии 1.4.3 moby/moby#41732

  • docker push теперь по умолчанию использует тег latest вместо всех тегов moby/moby#40302

  • Добавлена возможность изменять количество попыток повторного подключения при потере соединения при извлечении образа путём добавления max-download-attempts в файл конфигурации moby/moby#39949

  • Добавляет поддержку оболочки containerd v2, используя стандартную среду выполнения io.containerd.runc.v2 moby/moby#41182

  • cgroup v1: изменяет среду выполнения по умолчанию на io.containerd.runc.v2. Требуется containerd v1.3.0 или новее. Рекомендуется версия 1.3.5 или более поздняя moby/moby#41210

  • Запускать контейнеры в своих собственных пространствах имён cgroup moby/moby#38377

  • Включает поиск DNS для томов CIFS moby/moby#39250

  • Используйте MemAvailable вместо MemFree для вычисления фактической доступной памяти moby/moby#39481

  • Флаг --device в docker run теперь будет учитываться при запуске контейнера в привилегированном режиме moby/moby#40291

  • Применять зарезервированные внутренние метки moby/moby#40394

  • Увеличивает минимальный предел памяти до 6 МБ, чтобы учесть более высокое использование памяти средами выполнения во время запуска контейнера moby/moby#41168

  • поставщик runc v1.0.0-rc92 moby/moby#41344 moby/moby#41317

  • информация: добавлены предупреждения об отсутствии поддержки blkio cgroup moby/moby#41083

  • Принять спецификацию платформы для создания контейнера moby/moby#40725

  • Исправлена обработка поиска имён пользователей и групп с пробелами moby/moby#41377

Нетворкинг

  • Поддержка host.docker.internal в dockerd на Linux moby/moby#40007

  • Включает IPv6-адрес связанных контейнеров в/etc/hosts moby/moby#39837

  • --ip6tables включает правила IPv6 iptables (только если экспериментальные) moby/moby#41622

  • Добавляет псевдоним для имени хоста, если имя хоста != имя контейнера moby/moby#39204

  • Лучший выбор DNS-сервера (с systemd) moby/moby#41022

  • Добавляет интерфейсы докеров в зону докеров firewalld moby/moby#41189 moby/libnetwork#2548

    • Исправлена проблема с DNS на CentOS8 docker/для Linux#957

    • Исправлена переадресация портов на RHEL 8 с запущенным Firewalld с FirewallBackend=nftables moby/libnetwork#2496

  • Исправлена ошибка, сообщающая о том, что «не удалось получает доступ к сети во время CreateEndpoint» moby/moby#41189 moby/libnetwork#2554

  • Ошибка журнала вместо отключения объявления маршрутизатора IPv6 не удалось moby/moby#41189 moby/libnetwork#2563

  • Параметр --default-address-pool больше не игнорируется в некоторых случаях moby/moby#40711

  • Вызывает ошибку с недопустимым пулом адресов moby/moby#40808 moby/libnetwork#2538

  • Исправлена ошибка, из-за которой цепочка DOCKER-USER не создавалась, когда IPTableEnable=false moby/moby#40808 moby/libnetwork#2471

  • Исправить панику при запуске в средах systemd moby/moby#40808 moby/libnetwork#2544

  • Исправлена ошибка, из-за которой контейнеры не могли обмениваться данными по внутренней сети macvlan moby/moby#40596 moby/libnetwork#2407

  • Исправьте InhibitIPv4 nil panic moby/moby#40596

  • Исправлена утечка VFP при удалении сети Windows Overlay moby/moby#40596 moby/libnetwork#2524

Упаковка

  • docker.service: добавляет multi-user.target в After= в файле модуля moby/moby#41297

  • docker.service: разрешить активацию сокета moby/moby#37470

  • seccomp: удаляет зависимость в dockerd от libseccomp moby/moby#41395

Без корней

  • без корней: выпускник экспериментального moby/moby#40759

  • Добавляет dockerd-rootless-setuptool.sh moby/moby#40950

  • Поддержка --exec-opt native.cgroupdriver=systemd moby/moby#40486

Безопасность

  • Исправлена загрузка CVE-2019-14271 конфигурации на основе nsswitch внутри chroot под Glibc moby/moby#39612

  • seccomp: белый список clock_adjtime. CAP_SYS_TIME по-прежнему требуется для корректировки времени moby/moby#40929

  • seccomp: добавляет openat2 и faccessat2 в профиль seccomp по умолчанию moby/moby#41353

  • seccomp: разрешить системный вызов «rseq» в профиле seccomp по умолчанию moby/moby#41158

  • seccomp: разрешить мембарьер системных вызовов moby/moby#40731

  • seccomp: белый список системных вызовов, связанных с вводом-выводом moby/moby#39415

  • Добавляет sysctls по умолчанию, чтобы разрешить ping-сокеты и привилегированные порты без возможностей moby/moby#41030

  • Исправлен профиль seccomp для клонирования системного вызова moby/moby#39308

Swarm

  • Добавлена поддержка заданий swarm moby/moby#40307

  • Добавлена поддержка возможностей для команд стека/службы docker/cli # 2687 docker/cli # 2709 moby/moby#39173 moby/moby#41249

  • Добавлена поддержка отправки количества запущенных и требуемых задач службы moby/moby#39231

  • обслуживание: поддержка --mount type=bind,bind-nonrecursive moby/moby#38788

  • Поддержка ulimits для сервисов Swarm. moby/moby#41284 docker/cli # 2712

  • Исправлена проблема, из-за которой журналы службы могли привести к утечке горутин на рабочем moby/moby#40426