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

Примечание

В этом выпуске демон, клиент и среда выполнения контейнера теперь поставляются в отдельных пакетах. При обновлении вам необходимо обновить все пакеты одновременно, чтобы получает последние релизы исправлений для каждого. Например, на Ubuntu:

$ sudo apt-get install docker-ce docker-ce-cli containerd.io

Подробнее см. Оператор по установке для соответствующего дистрибутива Linux.

18.09.9

2019-09-03

Клиент

  • Исправлено обнаружение абсолютного пути Windows на устройствах, отличных от Windows. docker/cli # 1990

  • Исправлена ошибка, из-за которой Docker отказывался загружать ключ из файла делегация. ключ в Windows. docker/cli # 1968

  • Обновления сценариев завершения для bash и zsh.

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

Нетворкинг

  • Предотвращение паники в сети, подключенной к контейнеру с отключенной сетью. moby/moby#39589

  • Исправить служебный порт для приложения, который становится недоступным случайным образом. docker/libnetwork#2069

  • Исправить очистку сетей --config-only --config-from сетей некрасиво завершились. docker/libnetwork#2373

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

  • Обновление до Go 1.11.13.

  • Исправлена потенциальная паника движка при использовании дисковой квоты XFS для контейнеров. moby/moby#39644

Swarm

  • Исправить ошибки «grpc: получено сообщение больше максимального». moby/moby#39306

  • Исправлена ошибка, из-за которой узлы нескольких задач не могли быть удалены. docker/swarmkit # 2867

18.09.8

2019-07-17

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

  • Замаскированы секреты, обновляемые в файлах журнала при запуске Docker Engine в режиме отладки. CVE-2019-13509: если ядро Docker работает в режиме отладки, а docker stack deploy используется для повторного развертывания стека, включающего не внешние секреты, журналы будут содержать секрет.

Клиент

  • Исправлена интерполяция типа конфигурации отката для полей parallelism и max_failure_ratio.

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

  • В процесс обновления внесены важные изменения, которые, если им не следовать правильно, могут повлиять на доступность приложений, работающих на Swarm, во время обновлений. Данные ограничения влияют на любые обновления любой версии до 18.09 до версии 18.09 или более поздней.

18.09.7

2019-06-27

Строитель

  • Исправлена ошибка паники при создании файлов докеров, содержащих только комментарии. moby/moby#38487

  • Добавлен обходной путь для проблемы аутентификации GCR. moby/moby#38246

  • Builder-next: исправлена ошибка в обходном пути реализации кэша токена GCR. moby/moby#39183

Нетворкинг

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

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

  • Добавлена оптимизация производительности в aufs и хранилище слоев, что помогает в массовом параллельном создании и удалении контейнеров. moby/moby#39107, moby/moby#39135

  • Обновлен containerd до версии 1.2.6. moby/moby#39016

  • Исправлена атака обмена символическими ссылками CVE-2018-15664 с обходом каталога. moby/moby#39357

  • Windows: исправлена поддержка docker service create --limit-cpu. moby/moby#39190

  • демон: исправлена проблема с проверкой зеркал. moby/moby#38991

  • Docker больше не поддерживает сортировку диапазонов UID и GID в картах идентификаторов. moby/moby#39288

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

  • Добавлено исправление, которое теперь позволяет использовать большие строки журнала для плагинов логгера. moby/moby#39038

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

  • В процесс обновления внесены важные изменения, которые, если им не следовать правильно, могут повлиять на доступность приложений, работающих на Swarm, во время обновлений. Данные ограничения влияют на любые обновления любой версии до 18.09 до версии 18.09 или более поздней.

18.09.6

2019-05-06

Строитель

  • Исправлены COPY и ADD с несколькими <src>, чтобы кэш не становился недействительным, если DOCKER_BUILDKIT=1.moby/moby#38964

Нетворкинг

  • Убран провайдер кластера при закрытии агента. docker/libnetwork#2354

  • Windows: теперь выбирает случайный порт хоста, если пользователь не указывает порт хоста. docker/libnetwork#2369

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

  • В процесс обновления внесены важные изменения, которые, если им не следовать правильно, могут повлиять на доступность приложений, работающих на Swarm, во время обновлений. Данные ограничения влияют на любые обновления любой версии до 18.09 до версии 18.09 или более поздней.

18.09.5

2019-04-11

Строитель

  • Фиксированный DOCKER_BUILDKIT=1 docker build --squash .. docker/engine#176

Клиент

  • Исправлена ошибка начального размера tty. docker/cli # 1775

  • Исправлена утечка горутины dial-stdio. docker/cli # 1795

  • Исправлен селектор информера стека, используемый для отслеживания развертывания. docker/cli # 1794

Нетворкинг

  • Исправлен network=host, использующий неправильный resolv.conf с systemd-resolved. docker/engine#180

  • Исправлена ошибка, из-за которой записи Windows ARP случайно повреждались под нагрузкой. docker/engine#192

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

  • Теперь остановленные контейнеры с политикой перезапуска отображаются как Restarting. docker/engine#181

  • Теперь используется исходная спецификация процесса для execs. docker/engine#178

Swarm Режим

  • Исправлена утечка ресурсов задач при удалении узлов. docker/engine#185

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

  • В процесс обновления внесены важные изменения, которые, если им не следовать правильно, могут повлиять на доступность приложений, работающих на Swarm, во время обновлений. Данные ограничения влияют на любые обновления любой версии до 18.09 до версии 18.09 или более поздней.

18.09.4

2019-03-28

Строитель

  • Исправлен CVE-2019-13139 путём добавления проверки для git ref, чтобы избежать неправильного толкования флага. moby/moby#38944

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

  • Исправлена ошибка docker cp для имён файлов, длина которых превышает 100 символов. moby/moby#38634

  • Исправлен layer/layer_store, чтобы обеспечить освобождение ресурсов NewInputTarStream. moby/moby#38413

  • Увеличен лимит GRPC для GetConfigs. moby/moby#38800

  • Обновлен containerd 1.2.5. docker/engine#173

Swarm Режим

  • Исправлено исключение нулевого указателя при присоединении узла к swarm. moby/moby#38618

  • Исправлена ошибка, из-за которой узлы swarm не могли присоединиться в качестве мастеров, если установлен прокси-сервер http. [moby/moby#36951]

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

  • В процесс обновления внесены важные изменения, которые, если им не следовать правильно, могут повлиять на доступность приложений, работающих на Swarm, во время обновлений. Данные ограничения влияют на любые обновления любой версии до 18.09 до версии 18.09 или более поздней.

18.09.3

2019-02-28

Сетевые исправления

  • Windows: теперь избегает повторной генерации сетевых идентификаторов, чтобы предотвратить неправильные ссылки на сети. docker/engine#149

  • Windows: исправлена проблема с адресом флага - restart always в автономных контейнерах, который не работал при указании сети. (docker/эскалация № 1037)

  • Исправлена проблема с обращением к состоянию IPAM из networkdb, если менеджер не подключен к оверлейной сети. (docker/эскалация № 1049)

Исправления и обновления во время выполнения

  • Обновлено до Go версии 1.10.8.

  • Изменены имена в генераторе имён контейнеров. docker/engine#159

  • При копировании существующей папки ошибки установки xattr, когда целевая файловая система не поддерживает xattr, теперь игнорируются. docker/engine#135

  • Graphdriver: исправлен режим «устройство», который не определялся, если установлен бит «символьное устройство». docker/engine#160

  • Исправлено разыменование нулевого указателя при сбое подключения к containerd. docker/engine#162

  • Удален устаревший объект containerd при сбое запуска. docker/engine#154

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

  • В процесс обновления внесены важные изменения, которые, если им не следовать правильно, могут повлиять на доступность приложений, работающих на Swarm, во время обновлений. Данные ограничения влияют на любые обновления любой версии до 18.09 до версии 18.09 или более поздней.

18.09.2

2019-02-11

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

  • Обновляет runc, чтобы устранить критическую уязвимость, которая позволяет специально созданным контейнерам получать административные привилегии на узле. CVE-2019-5736

  • Пользователям Ubuntu 14.04, использующим ядро 3.13, потребуется выполняет обновление до поддерживаемого ядра Ubuntu 4.x

Для получения дополнительной информации обратитесь к блогу Docker.

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

  • В процесс обновления внесены важные изменения, которые, если им не следовать правильно, могут повлиять на доступность приложений, работающих на Swarm, во время обновлений. Данные ограничения влияют на любые обновления любой версии до 18.09 до версии 18.09 или более поздней.

18.09.1

09.01.2019

Важные примечания об этом выпуске

В версиях Docker до 18.09 контейнером управлял демон механизма Docker. В Docker Engine 18.09 контейнером управляет systemd. Поскольку containerd управляется systemd, любая пользовательская конфигурация конфигурации systemd docker.service, которая изменяет параметры монтирования (например, MountFlags=slave), нарушает взаимодействие между демоном Docker Engine и containerd, и вы не сможете запускать контейнеры.

Выполняет следующую команду, чтобы получает текущее значение свойства MountFlags для файла docker.service:

$ sudo systemctl show --property=MountFlags docker.service
MountFlags=

Обновляет конфигурацию, если эта команда выводит непустое значение для MountFlags, и перезапустите службу Docker.

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

  • Язык Go обновлен до версии 1.10.6 для разрешения CVE-2018-16873, CVE-2018-16874 и CVE-2018-16875.

  • Исправлен плагин authz для содержимого нулевой длины и проверки пути.

  • Добавлен /proc/asound к замаскированным путям docker/engine#126

Улучшения

  • Обновлен до BuildKit 0.3.3 docker/engine#122

  • Обновлен до containerd 1.2.2 docker/engine#144

  • Предоставлены дополнительные предупреждения об использовании устаревших драйверов хранилища оверлея и устройства сопоставления устройств docker/engine#85

  • prune: выполнять обрезку образа перед обрезкой кэша сборки docker/cli # 1532

  • Добавлено завершение bash для экспериментальных команд CLI (манифест) docker/cli # 1542

  • Windows: разрешить изоляцию процессов в Windows 10 docker/engine#81

Исправления

  • Отключает учет kmem в runc на RHEL/CentOS (docker/escalation#614, docker/escalation#692) docker/engine#121

  • Исправлена неэффективная сетевая конфигурация docker/engine#123

  • Исправлена ошибка, из-за которой сокращение системы докеров не принималось до тех пор, пока фильтр не будет docker/engine#122

  • Избегать неустановленных учетных данных в containerd docker/engine#122

  • Исправлена совместимость с iptables в Debian docker/engine#107

  • Исправлена настройка схемы по умолчанию для TCP для хоста Docker docker/cli # 1454

  • Исправлено завершение bash для service update --force docker/cli # 1526

  • Windows: попытка DetachVhd при очистке docker/engine#113

  • API: правильная обработка недопустимого JSON для возврата статуса 400 docker/engine#110

  • API: игнорировать пулы адресов по умолчанию для API < 1.39 docker/engine#118

  • API: добавляет отсутствующие поля пула адресов по умолчанию в swagger docker/engine#119

  • awslogs: учет нормализации UTF-8 в пределах docker/engine#112

  • Запрещает чтение более 1 МБ в ответах об ошибках HTTP docker/engine#114

  • apparmor: разрешить прием сигналов от docker kill docker/engine#116

  • overlay2: используйте index=off, если возможно (исправьте EBUSY на монтировании) docker/engine#84

Упаковка

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

  • При обновлении с 18.09.0 до 18.09.1 containerd не обновляется до правильной версии в Ubuntu.

  • В процесс обновления внесены важные изменения, которые, если им не следовать правильно, могут повлиять на доступность приложений, работающих на Swarm, во время обновлений. Данные ограничения влияют на любые обновления любой версии до 18.09 до версии 18.09 или более поздней.

18.09.0

2018-11-08

Важные примечания об этом выпуске

В версиях Docker до 18.09 контейнером управлял демон механизма Docker. В Docker Engine 18.09 контейнером управляет systemd. Поскольку containerd управляется systemd, любая пользовательская конфигурация конфигурации systemd docker.service, которая изменяет параметры монтирования (например, MountFlags=slave), нарушает взаимодействие между демоном Docker Engine и containerd, и вы не сможете запускать контейнеры.

Выполняет следующую команду, чтобы получает текущее значение свойства MountFlags для файла docker.service:

$ sudo systemctl show --property=MountFlags docker.service
MountFlags=

Обновляет конфигурацию, если эта команда выводит непустое значение для MountFlags, и перезапустите службу Docker.

Новые возможности

  • Обновлена версия API до 1.39 moby/moby#37640

  • Добавлена поддержка удаленных подключений с использованием SSH docker/cli # 1014

  • Builder: добавлены параметры обрезки в API moby/moby#37651

  • Добавлены «Предупреждения» в конечную точку /info и обнаружение перемещено в демон moby/moby#37502

  • Позволяет запускать сборки BuildKit без включенного экспериментального режима. Buildkit теперь можно настроить с помощью параметра в daemon.json moby/moby#37593 moby/moby#37686 moby/moby#37692 docker/cli # 1303 docker/cli # 1275

  • Добавлена поддержка секретов времени сборки с использованием флага --secret при использовании BuildKit docker/cli # 1288

  • Добавлен перенаправитель сокетов агента SSH (docker build --ssh $SSHMOUNTID=$SSH_AUTH_SOCK) при использовании BuildKit docker/cli # 1438 / docker/cli # 1419

  • Добавлена поддержка флага --chown для команд ADD и COPY в Windows moby/moby#35521

  • Добавлена подкоманда builder prune для очистки кэша сборки BuildKit docker/cli # 1295 docker/cli # 1334

  • BuildKit: добавляет настраиваемую политику сборки мусора для кэша сборки BuildKit docker/engine#59/moby/moby#37846

  • BuildKit: добавлена поддержка docker build --pull ... при использовании BuildKit moby/moby#37613

  • BuildKit: добавляет поддержку или «зеркала реестра» и «небезопасные реестры» при использовании BuildKit docker/engine#59 / moby/moby#37852

  • BuildKit: включает сетевые режимы и мост. moby/moby#37620

  • Добавлена подкоманда docker engine для управления жизненным циклом Docker Engine, работающего как привилегированный контейнер поверх containerd, и для разрешения обновлений до Docker Engine Enterprise docker/cli # 1260

  • Открытая лицензия на продукт в docker info, вывод docker/cli # 1313

  • Показаны предупреждения, созданные демоном в docker info, вывод docker/cli # 1225

  • Добавлен «локальный» драйвер журнала moby/moby#37092

  • Amazon CloudWatch: добавлен параметр ведения журнала awslogs-endpoint moby/moby#37374

  • Добавлена поддержка глобальных пулов адресов по умолчанию moby/moby#37558 docker/cli # 1233

  • Настроен уровень журнала containerd таким же, как у dockerd moby/moby#37419

  • Добавлен параметр конфигурации для cri-containerd moby/moby#37519

  • Обновляет клиент containerd до v1.2.0-rc.1 moby/moby#37664, docker/engine#75 / moby/moby#37710

  • Добавлена поддержка глобальных пулов адресов по умолчанию moby/moby#37558 docker/cli # 1233

  • Конечная точка POST/session перемещена из экспериментальной. moby/moby#40028

Улучшения

Исправления

  • BuildKit: не отменять запрос статуса buildkit. moby/moby#37597

  • Исправления: ошибка не отображается, если во время сборки Docker отсутствуют аргументы сборки moby/moby#37396

  • Исправлена ошибка «неожиданный EOF» при добавлении файла размером 8 ГБ moby/moby#37771

  • LCOW: обеспечивает заполнение платформы COPY/ADD. moby/moby#37563

  • Исправлено сопоставление диапазона портов хоста с одним портом контейнера docker/cli # 1102

  • Исправлена опечатка trust inspect: «AdminstrativeKeys" docker/cli # 1300

  • Исправляет парсинг файла среды для импорта отсутствующих переменных и переменных без имени. docker/cli # 1019

  • Исправляет потенциальное «исключение нехватки памяти» при запуске docker image prune с большим списком висящих образов docker/cli # 1432 / docker/cli # 1423

  • Исправлена обработка каналов в ConEmu и ConsoleZ в Windows moby/moby#37600

  • Исправлен долгий запуск в Windows с сетями Hyper-V, не управляемыми HNS docker/engine#67 / moby/moby#37774

  • Демон Fixes не запускается, когда опция «runtimes» определена как в файле конфигурации, так и в cli docker/engine#57 / moby/moby#37871

  • Ослабляет разрешения для каталога /etc/docker, чтобы предотвратить ошибки «отказано в доступе» при использовании docker manifest inspect docker/engine#56 / moby/moby#37847

  • Исправляет отказ в обслуживании с большими числами в cpuset-cpus и cpuset-mems docker/engine#70/moby/moby#37967

  • LCOW: добавляет --platform к docker import docker/cli # 1375 / docker/cli # 1371

  • LCOW: добавлена поддержка LinuxMetadata по умолчанию в Windows moby/moby#37514

  • LCOW: подключение к коротким путям контейнера, чтобы избежать ограничения длины командной строки moby/moby#37659

  • LCOW: исправлен сборщик, использующий неверный слой кэша moby/moby#37356

  • Исправлена утечка дескрипторов файлов json-log при использовании --follow docker/engine#48 moby/moby#37576 moby/moby#37734

  • Исправляет возможную взаимоблокировку при закрытии наблюдателя в kqueue moby/moby#37392

  • Использует наблюдатель на основе опроса для решения проблемы кэширования файлов в Windows moby/moby#37412

  • Обрабатывает случай с разрешением systemd, предоставляя соответствующий файл resolv.conf на сетевой уровень moby/moby#37485

  • Удалена поддержка TLS < 1.2 moby/moby#37660

  • Seccomp: белый список системных вызовов, связанных с CAP_SYS_NICE в профиле seccomp по умолчанию moby/moby#37242

  • Seccomp: перемещает системный вызов syslog на шлюз CAP_SYS_ADMIN или CAP_SYSLOG docker/engine#64 / moby/moby#37929

  • SELinux: исправление перемаркировки локальных томов, указанных через Mounts API, в системах с поддержкой selinux moby/moby#37739

  • Добавляет предупреждение, если REST API доступен через небезопасное соединение moby/moby#37684

  • Скрывает учетные данные прокси-сервера из URL-адреса при отображении в системной информации docker/engine#72 / moby/moby#37934

  • Исправлено распространение монтирования для btrfs docker/engine#86 / moby/moby#38026

  • Исправлено разыменование нулевого указателя при распределении узлов docker/engine#94 / docker/swarmkit # 2764

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

  • В процесс обновления внесены важные изменения, которые, если им не следовать правильно, могут повлиять на доступность приложений, работающих на Swarm, во время обновлений. Данные ограничения влияют на любые обновления любой версии до 18.09 до версии 18.09 или более поздней.

  • С https://github.com/boot2docker/boot2docker/releases/download/v18.09.0/boot2docker.iso соединение отклоняется от узла на виртуальной машине. Любая публикация портов swarm в виртуальных машинах Docker-Machine, созданных виртуальными боксами, не будет отвечать. Это происходит в macOS и Windows 10 с использованием docker-машин версий 0.15 и 0.16.

Следующая команда docker run работает, разрешая доступ из хост-браузера:

docker run -d -p 4000:80 nginx

Однако следующая команда docker service завершается ошибкой, в результате чего curl/chrome не может подключиться (отказано в подключении):

docker service create -p 5000:80 nginx

Эта проблема не проявляется при подготовке облачных виртуальных машин версии 18.09.0 с помощью docker-машины.

Обходные пути:

  • Используйте облачные виртуальные машины, которые не полагаются на boot2docker.

  • docker run не изменяется.

  • Для Swarm устанавливает VIRTUALBOX\_BOOT2DOCKER\_URL=https://github.com/boot2docker/boot2docker/releases/download/v18.06.1-ce/boot2docker.iso.

Эта проблема решена в 18.09.1.

Уведомления об устаревании

  • Docker прекратил поддержку Device Mapper в качестве драйвера хранилища. В настоящее время он будет по-прежнему поддерживаться, но поддержка будет удалена в будущем выпуске.

    Драйвер хранилища Overlay2 теперь используется по умолчанию для реализации ядра Docker.

Для получения дополнительной информации о списке устаревших флагов и API см. информация об устаревании, где вы можете найти целевые даты удаления.

Уведомление об окончании срока службы

В этом выпуске Docker также удалил поддержку TLS < 1.2 moby/moby#37660, Ubuntu 14.04 «Trusty Tahr» docker-ce-упаковка # 255 / docker-ce-упаковка # 254 и Debian 8 «Jessie» docker-ce-упаковка # 255 / docker-ce-упаковка # 254.