Примечания к выпуску 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.
Журналирование
Исправлено чтение журналов journald. moby/moby#37819 moby/moby#38859
Нетворкинг
Предотвращение паники в сети, подключенной к контейнеру с отключенной сетью. 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 # 1526Windows: попытка 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#116overlay2: используйте index=off, если возможно (исправьте EBUSY на монтировании) docker/engine#84
Упаковка
Добавляет требование docker.socket для docker.service. docker/docker-ce-packaging#276
Добавляет активацию сокета для дистрибутивов на основе RHEL. docker/docker-се-упаковка # 274
Добавлено требование libseccomp для пакетов RPM. docker/docker-се-упаковка # 266
Известные вопросы
При обновлении с 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 # 1334BuildKit: добавляет настраиваемую политику сборки мусора для кэша сборки BuildKit docker/engine#59/moby/moby#37846
BuildKit: добавлена поддержка
docker build --pull ...
при использовании BuildKit moby/moby#37613BuildKit: добавляет поддержку или «зеркала реестра» и «небезопасные реестры» при использовании 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
Улучшения
Не возвращает «
<unknown>
» в ответе/info moby/moby#37472BuildKit: заменяет
--console=[auto,false,true]
на--progress=[auto,plain,tty]
docker/cli#1276BuildKit: устанавливает переменную ExportedProduct BuildKit для отображения полезных ошибок в будущем. moby/moby#37439
Скрывает флаги
--data-path-addr
при подключении к демону, который не поддерживает эту опцию docker/docker/cli#1240Отображает флаги, специфичные для сборки, только если BuildKit включён docker/cli # 1438 / docker/cli # 1427
Улучшено выравнивание вывода версии docker/cli # 1204
Сортирует имена плагинов и сети в естественном порядке docker/cli # 1166, docker/cli # 1266
Обновления bash и zsh скрипты завершения
Передает уровень журнала в containerd. moby/moby#37419
Использует прямой возвращает сервера (DSR) в балансировке нагрузки наложения восток-запад docker/engine#93 / docker/libnetwork#2270
Builder: временно отключает мостовую сеть при использовании buildkit. moby/moby#37691
Блокирует запуск задачи до тех пор, пока вложения узла не будут готовы moby/moby#37604
Распространяет предоставленный внешний сертификат CA на внешний объект CA в swarm. docker/cli # 1178
Удаляет Ubuntu 14.04 «Trusty Tahr» как поддерживаемую платформу docker-ce-упаковка # 255 / docker-ce-упаковка # 254
Удаляет Debian 8 «Jessie» как поддерживаемую платформу docker-ce-упаковка # 255 / docker-ce-упаковка # 254
Удаляет префикс «docker-» для двоичных файлов containerd и runc docker/engine#61 / moby/moby#37907, docker-ce-упаковка # 241
Разделяет «engine», «cli» и «containerd» на отдельные пакеты и запускает containerd как отдельную службу systemd docker-ce-упаковка # 131, docker-ce-упаковка#158
Создаёт двоичные файлы с Go 1.10.4 docker-ce-упаковка # 181
Удаляет суффикс
-ce
из строки версии docker-ce-упаковка # 206
Исправления
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#37967LCOW: добавляет
--platform
кdocker import
docker/cli # 1375 / docker/cli # 1371LCOW: добавлена поддержка 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#37242Seccomp: перемещает системный вызов syslog на шлюз
CAP_SYS_ADMIN
илиCAP_SYSLOG
docker/engine#64 / moby/moby#37929SELinux: исправление перемаркировки локальных томов, указанных через 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.