Примечания к выпускам Community.Docker
v5.2.0
Краткое описание выпуска
Выпуск с новыми возможностями.
Незначительные изменения
- docker_image_export — добавлен параметр
platform, позволяющий экспортировать определённый вариант платформы из образа с поддержкой нескольких архитектур (https://github.com/ansible-collections/community.docker/issues/1064, https://github.com/ansible-collections/community.docker/pull/1251).
v5.1.0
Краткое описание выпуска
Выпуск с новыми возможностями.
Незначительные изменения
- docker_compose_v2_pull — добавлен параметр
ignore_pull_failures, передающий--ignore-pull-failuresвызовуdocker compose pull, если задано значениеtrue(https://github.com/ansible-collections/community.docker/pull/1248).
v5.0.6
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- docker_image_pull, docker_container — исправлено определение изменений загруженного образа для Docker 29.2+ (https://github.com/ansible-collections/community.docker/pull/1242).
v5.0.5
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- Модули и плагины, использующие Docker SDK for Python — не задавать автоматически
tls_hostnameприvalidate_certs=trueдля Docker SDK for Python 7.0.0+ (https://github.com/ansible-collections/community.docker/issues/1225, https://github.com/ansible-collections/community.docker/pull/1226).
v5.0.4
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- Модули на основе CLI — если не удаётся разобрать вывод JSON, также предоставлять вывод стандартной ошибки. Кроме того, предоставлять сведения о команде и её результате в машиночитаемом виде (https://github.com/ansible-collections/community.docker/issues/1216, https://github.com/ansible-collections/community.docker/pull/1221).
- docker_compose_v2, docker_compose_v2_pull — скорректирован разбор событий загрузки образов с учётом изменений в Docker Compose 5.0.0 (https://github.com/ansible-collections/community.docker/pull/1219).
v5.0.3
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- docker_container — если один и тот же порт сопоставлен несколько раз для одного протокола без указания интерфейса, ошибка приводила к передаче недопустимого значения интерфейса (https://github.com/ansible-collections/community.docker/issues/1213, https://github.com/ansible-collections/community.docker/pull/1214).
v5.0.2
Сводка выпуска
Выпуск с исправлениями ошибок для Docker 29.
Исправления ошибок
- Модули на основе Docker CLI — обход ошибки в Docker 29.0.0, которая привела к несовместимому изменению вывода
docker version --format json(https://github.com/ansible-collections/community.docker/issues/1185, https://github.com/ansible-collections/community.docker/pull/1187). - docker_container — исправлена идемпотентность
pullв Docker 29.0.0 (https://github.com/ansible-collections/community.docker/pull/1192). - docker_container — исправлена обработка диапазонов опубликованных портов. Ранее модуль использовал недокументированную функцию Docker, удалённую в Docker 29.0.0: она позволяла передавать диапазон демону и поручать ему его обработку. Теперь модуль разворачивает диапазоны в список всех входящих в них портов, как это делает Docker CLI. Для обратной совместимости с Docker < 29.0.0 модуль также разворачивает диапазоны, возвращаемые API для существующих контейнеров, чтобы сравнение указывало на различие только в случае фактического изменения диапазонов (https://github.com/ansible-collections/community.docker/pull/1192).
- docker_container — исправлена идемпотентность для адресов IPv6 в Docker 29.0.0 (https://github.com/ansible-collections/community.docker/pull/1192).
- docker_image — исправлена идемпотентность
source=pullв Docker 29.0.0 (https://github.com/ansible-collections/community.docker/pull/1192). - docker_image, docker_image_push — скорректировано определение отправки образов с учётом изменений в Docker 29 (https://github.com/ansible-collections/community.docker/pull/1199).
- docker_image_pull — исправлена идемпотентность в Docker 29.0.0 (https://github.com/ansible-collections/community.docker/pull/1192).
- docker_network — исправлена идемпотентность для адресов IPv6 и сетей в Docker 29.0.0 (https://github.com/ansible-collections/community.docker/pull/1201).
Известные проблемы
- docker_image, docker_image_export — идемпотентность при архивировании образов зависит от того, соответствуют ли идентификаторы образов, используемые серверной частью хранилища образов, идентификаторам в файлах
manifest.jsonархива tar. Судя по всему, новая серверная часть хранилища по умолчанию в Docker 29 использует идентификаторы образов, которые больше не соответствуют этим идентификаторам, поэтому идемпотентность больше не работает (https://github.com/ansible-collections/community.docker/pull/1199).
v5.0.1
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- docker_compose_v2_run — при
detach=trueгарантируется, что возвращаемый идентификатор контейнера не является строкой bytes (https://github.com/ansible-collections/community.docker/pull/1183). - docker_image — исправлена ошибка «Не удаётся найти указанный Dockerfile» (https://github.com/ansible-collections/community.docker/pull/1184).
v5.0.0
Сводка выпуска
Новый крупный выпуск.
Основные изменения: коллекция прекратила поддержку некоторых версий ansible-core, срок службы которых завершён, а также Python 2.7. Это позволило модернизировать код Python, в частности добавить подсказки типов. Кроме того, все утилиты модулей и плагинов теперь являются внутренними для коллекции, что упрощает рефакторинг кода. Все эти изменения не должны повлиять на конечных пользователей.
Незначительные изменения
- docker_container — добавлен параметр
driver_optsвnetworks(https://github.com/ansible-collections/community.docker/issues/1142, https://github.com/ansible-collections/community.docker/pull/1143). - docker_container — добавлен параметр
gw_priorityвnetworks(https://github.com/ansible-collections/community.docker/issues/1142, https://github.com/ansible-collections/community.docker/pull/1143).
Несовместимые изменения / руководство по переносу
- Все фрагменты документации, утилиты модулей и утилиты плагинов теперь являются внутренними. Они могут измениться в любой момент, а несовместимые изменения могут появляться даже в выпусках с исправлениями ошибок (https://github.com/ansible-collections/community.docker/pull/1144).
Удалённые функции (ранее объявленные устаревшими)
- Удалена поддержка Docker SDK for Python версии 1.x.y, также известной как
docker-py. Для модулей и плагинов, использующих Docker SDK for Python, требуется версия 2.0.0+ (https://github.com/ansible-collections/community.docker/pull/1171). - Коллекция больше не поддерживает Python 3.6 и более ранние версии. Обратите внимание, что это соответствует требованиям к Python для ansible-core 2.17+ (https://github.com/ansible-collections/community.docker/pull/1123).
- Коллекция больше не поддерживает ansible-core 2.15 и 2.16. Для использования community.docker 5.x.y требуется ansible-core версии 2.17.0 или новее (https://github.com/ansible-collections/community.docker/pull/1123).
Исправления ошибок
- Плагин подключения docker — исправлено аварийное завершение вместо предупреждения, если версия Docker не поддерживает
remote_user(https://github.com/ansible-collections/community.docker/pull/1161). - Плагины подключения docker, nsenter — исправлена обработка запроса пароля плагином
becomeв случаях, когда одновременно поступает несколько событий (https://github.com/ansible-collections/community.docker/pull/1158). - Плагин подключения docker_api — исправлена ошибка, которая могла приводить к потере данных при ожидании запроса плагина
become(https://github.com/ansible-collections/community.docker/pull/1152). - docker_compose_v2_exec — исправлено аварийное завершение вместо сообщения об ошибке, если указаны
detach=trueиstdin(https://github.com/ansible-collections/community.docker/pull/1161). - docker_compose_v2_run — исправлено аварийное завершение вместо сообщения об ошибке, если указаны
detach=trueиstdin(https://github.com/ansible-collections/community.docker/pull/1161). - docker_container_exec — исправлена ошибка, которая могла приводить к потере данных stdout/stderr (https://github.com/ansible-collections/community.docker/pull/1152).
- docker_container_exec — исправлена работа
detach=true. Ранее это приводило к тому, что выполнение не производилось (https://github.com/ansible-collections/community.docker/pull/1145). - docker_plugin — исправлен режим diff для параметров плагинов (https://github.com/ansible-collections/community.docker/pull/1146).
v4.8.1
Сводка выпуска
Выпуск с обновлениями для обслуживания.
Незначительные изменения
- Обратите внимание, что часть нового кода в
plugins/module_utils/_six.pyраспространяется по лицензии MIT (https://github.com/ansible-collections/community.docker/pull/1138).
Исправления ошибок
- Устранено оставшееся использование устаревшего
ansible.module_utils.six(https://github.com/ansible-collections/community.docker/pull/1133). - Исключено использование устаревшего
ansible.module_utils.sixво всём коде, который не обязан поддерживать Python 2 (https://github.com/ansible-collections/community.docker/pull/1137, https://github.com/ansible-collections/community.docker/pull/1139). - Исключено использование устаревшего
ansible.module_utils.sixв части кода, которая по-прежнему поддерживает Python 2 (https://github.com/ansible-collections/community.docker/pull/1138).
v4.8.0
Сводка выпуска
Выпуск с исправлениями ошибок и новыми функциями.
Незначительные изменения
- docker_container — поддержка отсутствующих полей и новых типов монтирования в
mounts(https://github.com/ansible-collections/community.docker/issues/1129, https://github.com/ansible-collections/community.docker/pull/1134).
Исправления ошибок
- Исключено использование устаревших функций в ansible-core 2.20 (https://github.com/ansible-collections/community.docker/pull/1117).
v4.7.0
Сводка выпуска
Выпуск с исправлениями ошибок и новыми функциями.
Незначительные изменения
- docker_swarm_service — добавлена поддержка режима
replicated-jobдля служб Swarm (https://github.com/ansible-collections/community.docker/issues/626, https://github.com/ansible-collections/community.docker/pull/1108).
Исправления ошибок
- docker_image, docker_image_push — обход ошибки в Docker 28.3.3, которая препятствовала отправке образов в реестр без аутентификации (https://github.com/ansible-collections/community.docker/pull/1110).
v4.6.2
Сводка выпуска
Выпуск с исправлениями ошибок для Docker Compose 2.39.0+.
Исправления ошибок
- docker_compose_v2 — адаптация к новым событиям пробной сборки в Docker Compose 2.39.0+ (https://github.com/ansible-collections/community.docker/pull/1101).
v4.6.1
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- docker_compose_v2 — обработка (возможно, непреднамеренного) несовместимого изменения в Docker Compose 2.37.0. Обратите внимание, что
ContainerNameбольше не входит в возвращаемое значение (https://github.com/ansible-collections/community.docker/issues/1082, https://github.com/ansible-collections/community.docker/pull/1083). - docker_container — исправлена идемпотентность при
command=[]иcommand_handling=correct(https://github.com/ansible-collections/community.docker/issues/1080, https://github.com/ansible-collections/community.docker/pull/1085).
v4.6.0
Сводка выпуска
Выпуск с новыми функциями.
Незначительные изменения
- docker_container_copy_into — добавлен параметр
mode_parse, определяющий способ разбораmode(https://github.com/ansible-collections/community.docker/pull/1074).
v4.5.2
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- docker_compose_v2 — исправлена проверка версии для
assume_yes(https://github.com/ansible-collections/community.docker/pull/1054). - docker_compose_v2 — начиная с Docker Compose 2.34.0 используется
--yesвместо-y(https://github.com/ansible-collections/community.docker/pull/1060).
v4.5.1
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- docker_compose_v2 — переименован флаг параметра
assume_yesдляdocker compose upв-y(https://github.com/ansible-collections/community.docker/pull/1054).
v4.5.0
Сводка выпуска
Выпуск с новыми функциями.
Незначительные изменения
- docker_compose_v2 — добавлен параметр
assume_yesдляdocker compose up(https://github.com/ansible-collections/community.docker/pull/1045). - docker_network — добавлен параметр
enable_ipv4(https://github.com/ansible-collections/community.docker/issues/1047, https://github.com/ansible-collections/community.docker/pull/1049).
v4.4.0
Сводка выпуска
Выпуск с новыми функциями и исправлениями ошибок.
Исправления ошибок
- docker_compose_v2_run — модуль ожидал параметр одного типа, а пытался очистить его как параметр другого типа. Исправление удаляет этап очистки меток, поскольку их допустимость уже проверяется определением параметра (https://github.com/ansible-collections/community.docker/pull/1034).
- Вендорная версия Docker SDK for Python — не считать, что
KeyErrorвсегда относится кApiVersion, если запрос версии завершился ошибкой (https://github.com/ansible-collections/community.docker/issues/1033, https://github.com/ansible-collections/community.docker/pull/1034).
Новые модули
- community.docker.docker_context_info — получение сведений о контекстах Docker для текущего пользователя.
v4.3.1
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- Исправлен код очистки меток, чтобы избежать аварийного завершения при возникновении ошибок (https://github.com/ansible-collections/community.docker/issues/1028, https://github.com/ansible-collections/community.docker/pull/1029).
v4.3.0
Сводка выпуска
Выпуск с новыми функциями.
Незначительные изменения
- Модули docker_compose_v2* — определять версию Compose с помощью
docker compose versionи только затем переходить кdocker info(https://github.com/ansible-collections/community.docker/pull/1021).
v4.2.0
Сводка выпуска
Выпуск с исправлениями ошибок и новыми функциями.
Незначительные изменения
- docker_compose_v2 — добавлен параметр
ignore_build_events(значение по умолчаниюtrue), позволяющий игнорировать или не игнорировать события сборки при определении изменений (https://github.com/ansible-collections/community.docker/issues/1005, https://github.com/ansible-collections/community.docker/issues/pull/1011). - docker_image_build —
outputs[].nameтеперь может быть списком строк (https://github.com/ansible-collections/community.docker/pull/1006). - docker_image_build — выполненная команда теперь возвращается в значении
commandпри успешном выполнении и при некоторых ошибках (https://github.com/ansible-collections/community.docker/pull/1006). - docker_network — добавлен параметр
ingress(https://github.com/ansible-collections/community.docker/pull/999).
Исправления ошибок
- docker_compose_v2 — при использовании Compose 2.31.0 или новее восстановлено прежнее поведение: пересборка образов, например при
rebuild=always, приводит кchanged, только если контейнер был перезапущен (https://github.com/ansible-collections/community.docker/issues/1005, https://github.com/ansible-collections/community.docker/issues/pull/1011). - docker_image_build — обход ошибки или крайне неожиданного поведения Docker buildx, которое перезаписывает все имена образов в параметрах
--outputпри указании--tag, как модуль делал ранее по умолчанию. Теперь модуль передаёт--tag, только еслиoutputsпуст. Еслиoutputsсодержит записи, будет добавлена дополнительная запись сtype=image, если ни одна записьtype=imageне содержит имя образа, заданное параметрамиnameиtag(https://github.com/ansible-collections/community.docker/issues/1001, https://github.com/ansible-collections/community.docker/pull/1006). - docker_network — добавлено ожидание фактического отключения контейнера от сети Swarm (https://github.com/ansible-collections/community.docker/pull/999).
- docker_network — контейнеры повторно подключаются к сети только в том случае, если они действительно существуют (https://github.com/ansible-collections/community.docker/pull/999).
- docker_network — включён параметр «force» при вызове API отключения контейнера от сети Docker (https://github.com/ansible-collections/community.docker/pull/999).
- docker_swarm_info — предотвращено аварийное завершение при поиске заданий Swarm, если
services=true(https://github.com/ansible-collections/community.docker/issues/1003).
v4.1.0
Сводка выпуска
Выпуск с исправлениями ошибок и новыми функциями.
Незначительные изменения
- docker_stack — разрешено добавлять параметр
--detach=falseв командуdocker stack deploy(https://github.com/ansible-collections/community.docker/pull/987).
Исправления ошибок
- docker_compose_v2_exec, docker_compose_v2_run — исправлено отсутствие флага
--envпри формировании аргументов env (https://github.com/ansible-collections/community.docker/pull/992). - docker_host_info — гарантируется, что модуль всегда возвращает
can_talk_to_dockerи предоставляет правильное значение, даже если указанapi_version(https://github.com/ansible-collections/community.docker/issues/993, https://github.com/ansible-collections/community.docker/pull/995).
v4.0.1
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- docker_compose_v2_run — перед отправкой в демон Docker выполняется очистка
labels(https://github.com/ansible-collections/community.docker/pull/985). - docker_config — перед отправкой в демон Docker выполняется очистка
labels(https://github.com/ansible-collections/community.docker/pull/985). - docker_network — перед отправкой в демон Docker выполняется очистка
labels(https://github.com/ansible-collections/community.docker/pull/985). - docker_node — перед отправкой в демон Docker выполняется очистка
labels(https://github.com/ansible-collections/community.docker/pull/985). - docker_secret — перед отправкой в демон Docker выполняется очистка
labels(https://github.com/ansible-collections/community.docker/pull/985). - docker_swarm — перед отправкой в демон Docker выполняется очистка
labels(https://github.com/ansible-collections/community.docker/pull/985). - docker_swarm_service — перед отправкой в демон Docker выполняется очистка
labelsиcontainer_labels(https://github.com/ansible-collections/community.docker/pull/985). - docker_volume — перед отправкой в демон Docker выполняется очистка
labels(https://github.com/ansible-collections/community.docker/pull/985).
v4.0.0
Сводка выпуска
Мажорный выпуск с удалением устаревших функций.
Незначительные изменения
- docker_compose_v2 — добавлен параметр
renew_anon_volumesдляdocker compose up(https://github.com/ansible-collections/community.docker/pull/977).
Несовместимые изменения / руководство по переносу
- docker_container — значение по умолчанию для
image_name_mismatchизменено сignoreнаrecreate(https://github.com/ansible-collections/community.docker/pull/971).
Удалённые функции (ранее объявленные устаревшими)
- Коллекция больше не поддерживает ansible-core 2.11, 2.12, 2.13 и 2.14. Для использования community.docker 4.x.y требуется ansible-core версии 2.15.0 или новее (https://github.com/ansible-collections/community.docker/pull/971).
- Модуль docker_compose удалён. Перейдите на community.docker.docker_compose_v2 (https://github.com/ansible-collections/community.docker/pull/971).
- docker_container — параметр
ignore_imageудалён. Вместо него используйтеimage: ignoreвcomparisons(https://github.com/ansible-collections/community.docker/pull/971). - docker_container — параметр
purge_networksудалён. Вместо него используйтеnetworks: strictвcomparisonsи убедитесь, что указанnetworks(https://github.com/ansible-collections/community.docker/pull/971). - Различные модули и плагины — удалён параметр
ssl_version(https://github.com/ansible-collections/community.docker/pull/971).
v3.13.1
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- docker_compose_v2 — улучшен разбор операций сборки образов в режиме пробного запуска из событий JSON (https://github.com/ansible-collections/community.docker/issues/975, https://github.com/ansible-collections/community.docker/pull/976).
v3.13.0
Сводка выпуска
Выпуск с новыми функциями.
Новые модули
- community.docker.docker_compose_v2_exec — выполнить команду в контейнере службы Compose.
- community.docker.docker_compose_v2_run — выполнить команду в новом контейнере службы Compose.
v3.12.2
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- docker_prune — исправлена обработка списков в параметрах фильтрации (https://github.com/ansible-collections/community.docker/issues/961, https://github.com/ansible-collections/community.docker/pull/966).
v3.12.1
Сводка выпуска
Выпуск с обновлённой документацией и журналом изменений.
Устаревшие функции
- Коллекция объявляет устаревшей поддержку всех версий ansible-core, срок поддержки которых уже истёк, согласно матрице поддержки ansible-core. Это означает, что следующий мажорный выпуск коллекции больше не будет поддерживать ansible-core 2.11, ansible-core 2.12, ansible-core 2.13 и ansible-core 2.14.
v3.12.0
Сводка выпуска
Выпуск с исправлениями ошибок и новыми функциями.
Незначительные изменения
- Плагины подключения docker и docker_api — добавлена возможность задавать рабочий каталог при выполнении команд с помощью нового параметра
working_dir(https://github.com/ansible-collections/community.docker/pull/943). - Плагины подключения docker и docker_api — добавлена возможность выполнять команды с расширенными привилегиями с помощью нового параметра
privileges(https://github.com/ansible-collections/community.docker/pull/943). - Плагины подключения docker и docker_api — добавлена возможность передавать дополнительные переменные окружения при выполнении команд с помощью нового параметра
extra_env(https://github.com/ansible-collections/community.docker/issues/937, https://github.com/ansible-collections/community.docker/pull/940). - Модули docker_compose_v2* — добавлена поддержка средства вывода хода выполнения
jsonв Docker Compose 2.29.0, чтобы не требовалось разбирать текстовый вывод (https://github.com/ansible-collections/community.docker/pull/931). - docker_compose_v2_pull — добавлены новые параметры
ignore_buildable,include_depsиservices(https://github.com/ansible-collections/community.docker/issues/941, https://github.com/ansible-collections/community.docker/pull/942). - docker_container — при создании контейнера все сети для подключения напрямую передаются демону Docker для API версии 1.44 и новее. Это повышает эффективность создания и позволяет обойти ошибку демона Docker, из-за которой в некоторых случаях не используется указанный MAC-адрес, хотя только при создании (https://github.com/ansible-collections/community.docker/pull/933).
Исправления ошибок
- docker_compose_v2 — добавлена обработка ещё одного случайного неструктурированного сообщения об ошибке в версиях Compose до 2.29.0 (https://github.com/ansible-collections/community.docker/issues/948, https://github.com/ansible-collections/community.docker/pull/949).
- docker_compose_v2 — обеспечено добавление служб, указанных в
services, в командную строку после--, а не перед ним (https://github.com/ansible-collections/community.docker/pull/942). - Модули docker_compose_v2* и docker_image_build — добавлено более понятное сообщение об ошибке, если в выводе
docker versionилиdocker infoотсутствуют обязательные поля. Такое может произойти, если вместо Docker используется Podman (https://github.com/ansible-collections/community.docker/issues/891, https://github.com/ansible-collections/community.docker/pull/935). - docker_container — исправлена идемпотентность при использовании
network_mode=defaultи Docker 26.1.0 или новее. В Docker 26.1.0 изменилось нормализованиеNetworkMode, что привело к несовместимому изменению (https://github.com/ansible-collections/community.docker/issues/934, https://github.com/ansible-collections/community.docker/pull/936). - docker_container — восстановлено поведение модуля из community.docker 2.x.y, при котором первая сеть передаётся демону Docker во время создания контейнера (https://github.com/ansible-collections/community.docker/pull/933).
- docker_image_build — исправлена композиция параметров
--outputдляtype=dockerиtype=image(https://github.com/ansible-collections/community.docker/issues/946, https://github.com/ansible-collections/community.docker/pull/947).
Известные проблемы
- docker_container — если для сети контейнера указан MAC-адрес, а сеть подключается после создания контейнера (например, из-за проверок идемпотентности), в некоторых случаях демон Docker игнорирует MAC-адрес (https://github.com/ansible-collections/community.docker/pull/933).
v3.11.0
Незначительные изменения
- docker_container — добавлена поддержка
device_cgroup_rules(https://github.com/ansible-collections/community.docker/pull/910). - docker_container — новый параметр
state=healthyпозволяет ожидать, пока контейнер станет работоспособным после запуска. Параметрhealthy_wait_timeoutпозволяет задать максимальное время ожидания (https://github.com/ansible-collections/community.docker/issues/890, https://github.com/ansible-collections/community.docker/pull/921).
Исправления ошибок
- Модули docker_compose_v2* — исправлен разбор сообщений о пропуске загрузки образов в Docker Compose 2.28.x (https://github.com/ansible-collections/community.docker/issues/911, https://github.com/ansible-collections/community.docker/pull/916).
- Модули docker_compose_v2*, docker_stack* и docker_image_build — использование
cli_contextбольше не приводит к передаче недопустимого сочетания параметров соответствующему инструменту командной строки Docker, если не заданdocker_host. Сочетаниеcli_contextиdocker_hostбольше не допускается (https://github.com/ansible-collections/community.docker/issues/892, https://github.com/ansible-collections/community.docker/pull/895). - docker_container — устранена возможная бесконечная циклическая обработка, если задан
removal_wait_timeout(https://github.com/ansible-collections/community.docker/pull/922). - Встроенный Docker SDK для Python — для сравнения версий urllib3 теперь используется
LooseVersionвместоStrictVersion. Это необходимо для версий, находящихся в разработке (https://github.com/ansible-collections/community.docker/pull/902).
v3.10.4
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- docker_compose — обеспечено использование модулем параметра
api_version(https://github.com/ansible-collections/community.docker/pull/881). - Модули docker_compose_v2* — не проверялось, задан ли один из параметров
project_srcиdefinition. Если ни один из них не был задан, модули аварийно завершались (https://github.com/ansible-collections/community.docker/issues/885, https://github.com/ansible-collections/community.docker/pull/886).
v3.10.3
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- Плагины подключения docker и nsenter, модуль docker_container_exec — исключено использование устаревшего модуля
ansible.module_utils.compat.selectorsв Python 3 (https://github.com/ansible-collections/community.docker/issues/870, https://github.com/ansible-collections/community.docker/pull/871).
v3.10.2
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- Встроенный Docker SDK для Python — добавлено исправление для совместимости с requests 2.32.2 и новее (https://github.com/ansible-collections/community.docker/issues/860, https://github.com/psf/requests/issues/6707, https://github.com/ansible-collections/community.docker/pull/864).
v3.10.1
Сводка выпуска
Экстренный выпуск для обеспечения совместимости с requests 2.32.0.
Исправления ошибок
- Встроенный Docker SDK для Python — добавлено экстренное исправление для совместимости с requests 2.32.0 (https://github.com/ansible-collections/community.docker/issues/860, https://github.com/docker/docker-py/issues/3256, https://github.com/ansible-collections/community.docker/pull/861).
Известные проблемы
-
Обратите внимание: исправление для requests 2.32.0, включённое в community.docker 3.10.1, устраняет проблемы только во встроенном коде Docker SDK для Python. Модули и плагины, использующие Docker SDK для Python, всё ещё могут завершаться с ошибкой, поскольку SDK на данный момент несовместим с requests 2.32.0.
Если проблемы с requests 2.32.0 сохраняются, например появляются сообщения об ошибках вида
Not supported URL scheme http+docker, ограничьте версию requests до<2.32.0.
v3.10.0
Сводка выпуска
Выпуск с новыми функциями.
Незначительные изменения
- docker_container — добавлен
healthcheck.start_intervalдля поддержки настройки интервала запуска проверки работоспособности контейнеров (https://github.com/ansible-collections/community.docker/pull/848). - docker_container — добавлен
healthcheck.test_cli_compatible, позволяющий не указывать параметр проверки для контейнеров, не удаляя существующую проверку образа (https://github.com/ansible-collections/community.docker/pull/847). - docker_image_build — добавлен параметр
outputs, позволяющий настраивать результаты сборки (https://github.com/ansible-collections/community.docker/pull/852). - docker_image_build — добавлен параметр
secrets, позволяющий передавать секреты в сборку (https://github.com/ansible-collections/community.docker/pull/852). - docker_image_build — для многоплатформенных сборок параметр
platformтеперь может принимать список платформ, а не только одну платформу (https://github.com/ansible-collections/community.docker/pull/852). - docker_network — добавлены
config_onlyиconfig_fromдля поддержки создания и использования сетей только с конфигурацией (https://github.com/ansible-collections/community.docker/issues/395). - docker_prune — добавлены новые параметры
builder_cache_all,builder_cache_filtersиbuilder_cache_keep_storage, а также новое возвращаемое значениеbuilder_cache_caches_deletedдля очистки кэша сборки (https://github.com/ansible-collections/community.docker/issues/844, https://github.com/ansible-collections/community.docker/issues/845). - docker_swarm_service — добавлен
sysctlsдля поддержки настроек sysctl в службах Swarm (https://github.com/ansible-collections/community.docker/issues/190).
Устаревшие функции
- docker_compose — модуль Docker Compose v1 объявлен устаревшим и будет удалён из community.docker 4.0.0. Перейдите на модуль
community.docker.docker_compose_v2, работающий с Docker Compose v2 (https://github.com/ansible-collections/community.docker/issues/823, https://github.com/ansible-collections/community.docker/pull/833). - Различные модули и плагины — параметр
ssl_versionобъявлен устаревшим и будет удалён из community.docker 4.0.0. Он уже удалён из Docker SDK for Python 7.0.0 и ранее требовался только для обхода проблем SSL/TLS (https://github.com/ansible-collections/community.docker/pull/853).
v3.9.0
Сводка выпуска
Выпуск с исправлениями ошибок и новыми функциями.
Незначительные изменения
- Теперь требования к EE включают PyYAML, поскольку модули
docker_compose_v2*зависят от него при использовании параметраdefinition. Это не должно заметно повлиять на создаваемые EE, так как сам ansible-core также зависит от PyYAML, а ansible-builder явно игнорирует эту зависимость (https://github.com/ansible-collections/community.docker/pull/832). - docker_compose_v2* — новый параметр
check_files_existingпозволяет отключить проверку наличия одного из файловcompose.yaml,compose.yml,docker-compose.yamlиdocker-compose.ymlвproject_src, если не указанfiles. Это необходимо, если нестандартное имя файла Compose задаётся другим способом, например с помощью переменной окруженияCOMPOSE_FILE(https://github.com/ansible-collections/community.docker/issues/838, https://github.com/ansible-collections/community.docker/pull/839). - Модули docker_compose_v2* — теперь можно задать содержимое Compose непосредственно, без необходимости создавать каталог
project_srcи записывать в него файл Compose (https://github.com/ansible-collections/community.docker/issues/829, https://github.com/ansible-collections/community.docker/pull/832). - Встроенный Docker SDK для Python — удалён неиспользуемый код, использующий функциональность, объявленную устаревшей в Python 3.12 (https://github.com/ansible-collections/community.docker/pull/834).
Исправления ошибок
- docker_compose_v2* — теперь
project_srcможет быть относительным путём: перед использованием он преобразуется в абсолютный путь (https://github.com/ansible-collections/community.docker/issues/827, https://github.com/ansible-collections/community.docker/pull/828). - Модули docker_compose_v2* — вместо аварийного завершения теперь выводится понятное сообщение об ошибке, если версия плагина CLI Docker Compose равна
dev(https://github.com/ansible-collections/community.docker/issues/825, https://github.com/ansible-collections/community.docker/pull/826). - Плагины инвентаризации — добавлена обёртка unsafe, чтобы не помечать как небезопасные строки, не содержащие
{или}. Это позволяет обойти ошибку в AWX (https://github.com/ansible-collections/community.docker/pull/835).
v3.8.1
Сводка выпуска
Выпуск с исправлениями ошибок
Исправления безопасности
- Плагины инвентаризации docker_containers, docker_machine и docker_swarm — все данные, полученные от демона Docker / Docker machine, помечаются как небезопасные, чтобы удалённое выполнение кода через получение текстов, которые могут интерпретироваться как шаблоны, было невозможно (https://www.die-welt.net/2024/03/remote-code-execution-in-ansible-dynamic-inventory-plugins/, https://github.com/ansible-collections/community.docker/pull/815).
Исправления ошибок
- docker_compose_v2 — модуль больше не завершается с ошибкой при возникновении нефатальных ошибок. Такое может произойти, если загрузить образ не удалось, но затем образ можно собрать для другой службы. В этом случае Docker Compose выводит ошибку, но
docker compose upвсё равно завершается успешно (https://github.com/ansible-collections/community.docker/issues/807, https://github.com/ansible-collections/community.docker/pull/810, https://github.com/ansible-collections/community.docker/pull/811). - Модули docker_compose_v2* — исправлен разбор событий
Warning, выдаваемых Docker Compose (https://github.com/ansible-collections/community.docker/issues/807, https://github.com/ansible-collections/community.docker/pull/811). - Модули docker_compose_v2* — добавлен разбор предупреждений
logfmt, выдаваемых Docker Compose (https://github.com/ansible-collections/community.docker/issues/787, https://github.com/ansible-collections/community.docker/pull/811). - docker_compose_v2_pull — исправлена идемпотентность: при
policy=alwaysпроверяются фактические события выполнения загрузки, а не запрос на загрузку на уровне службы. Благодаря этому модуль не сообщаетchanged=true, если при загрузке фактически ничего не изменилось. Однако в режиме проверки модуль должен предполагать, что изменения произойдут (https://github.com/ansible-collections/community.docker/issues/813, https://github.com/ansible-collections/community.docker/pull/814).
v3.8.0
Сводка выпуска
Выпуск с исправлениями ошибок и новыми возможностями.
Незначительные изменения
- docker_compose_v2 — добавлена возможность ожидать запуска контейнеров или перехода в состояние работоспособности при запуске
docker compose upс новым параметромwait(https://github.com/ansible-collections/community.docker/issues/794, https://github.com/ansible-collections/community.docker/pull/796). - docker_container — параметр
pull_check_mode_behaviorтеперь позволяет управлять поведением модуля в режиме проверки, когдаpull=always(https://github.com/ansible-collections/community.docker/issues/792, https://github.com/ansible-collections/community.docker/pull/797). - docker_container — параметр
pullтеперь принимает три значения:never,missing_image(по умолчанию) иnever, помимо ранее допустимых значенийtrue(эквивалентноalways) иfalse(эквивалентноmissing_image). Это позволяет использовать эквивалент--pull=neverиз командной строки Docker (https://github.com/ansible-collections/community.docker/issues/783, https://github.com/ansible-collections/community.docker/pull/797).
Исправления ошибок
- docker_compose_v2 — событие
Waitingбольше не считается действием или изменением (https://github.com/ansible-collections/community.docker/pull/804). - docker_compose_v2 — события загрузки на уровне служб больше не считаются изменениями, чтобы избежать некорректного возвращаемого значения
changed=trueдляpull=always(https://github.com/ansible-collections/community.docker/issues/802, https://github.com/ansible-collections/community.docker/pull/803). - docker_compose_v2, docker_compose_v2_pull — исправлен разбор сообщений о загрузке для Docker Compose 2.20.0 (https://github.com/ansible-collections/community.docker/issues/785, https://github.com/ansible-collections/community.docker/pull/786).
v3.7.0
Сводка выпуска
Выпуск с исправлениями ошибок и новыми возможностями.
Незначительные изменения
- docker_compose_v2 — добавлен параметр
scale, позволяющий явно масштабировать службы (https://github.com/ansible-collections/community.docker/pull/776). - docker_compose_v2, docker_compose_v2_pull — добавлена поддержка параметра
filesдля указания нескольких файлов Compose (https://github.com/ansible-collections/community.docker/issues/772, https://github.com/ansible-collections/community.docker/pull/775).
Исправления ошибок
- docker_compose_v2 — исправлен разбор событий сборки в режиме пробного запуска из
stderr(https://github.com/ansible-collections/community.docker/issues/778, https://github.com/ansible-collections/community.docker/pull/779). - docker_compose_v2_pull — в документации модуль был указан как часть группы действий
community.docker.docker, но на самом деле в неё не входил. Это исправлено (https://github.com/ansible-collections/community.docker/pull/773).
Новые модули
- community.docker.docker_image_export — экспорт (архивирование) образов Docker
v3.6.0
Сводка выпуска
Выпуск с исправлениями ошибок и новыми возможностями.
В коллекцию добавлено несколько новых модулей docker_image_*, которые выделяют функциональность из довольно сложного модуля docker_image. Эти новые модули проще в использовании и позволяют точнее указывать, поддерживают ли они режим проверки, режим diff или ни один из них.
В этом выпуске также представлены модули, поддерживающие плагины CLI Docker buildx и compose. Модуль docker_image_build использует команду docker buildx, а модули docker_compose_v2 и docker_compose_v2_pull — команду docker compose. Все эти модули используют CLI Docker вместо прямого взаимодействия с API. Интерфейс этих модулей в основном совпадает с интерфейсом модулей, основанных на API, поэтому основное отличие заключается в том, что вместо некоторых требований к Python они зависят от инструмента CLI Docker docker.
Основные изменения
- Коллекция
community.dockerтеперь зависит от коллекцииcommunity.library_inventory_filtering_v1. Эта вспомогательная коллекция предоставляет функциональность фильтрации узлов для плагинов инвентаризации. Если вы используете пакет сообщества Ansible, обе коллекции уже включены и никаких дополнительных действий не требуется. Если вы устанавливаете коллекцию с помощьюansible-galaxy collection install, она будет установлена автоматически. Если вы устанавливаете коллекцию, копируя её файлы в место, доступное ansible-core, например клонируя репозиторий git, убедитесь, что установили и зависимость, если используете плагины инвентаризации (https://github.com/ansible-collections/community.docker/pull/698).
Незначительные изменения
- Параметр
ca_cert, доступный почти во всех модулях и плагинах, переименован вca_path. Имяca_pathтакже используется для аналогичных параметров в ansible-core и других коллекциях. Старое имя добавлено в качестве псевдонима, его по-прежнему можно использовать (https://github.com/ansible-collections/community.docker/pull/744). - Модули
docker_stack*теперь используют общий код модулей на основе CLI, добавленный для модулейdocker_image_buildиdocker_compose_v2. Это означает, что у модулей появилось несколько дополнительных параметров конфигурации для взаимодействия с Docker Daemon; теперь они также входят в группы значений по умолчанию для модулейcommunity.docker.dockerиdocker(https://github.com/ansible-collections/community.docker/pull/745). - docker_container — добавлен параметр
networks[].mac_addressдля Docker API 1.44 и новее. Обратите внимание: Docker API 1.44 больше не использует глобальный параметрmac_address; этот новый параметр — единственный способ задать MAC-адрес контейнера (https://github.com/ansible-collections/community.docker/pull/763). - docker_image — при сборке образов добавлена возможность указывать метки и размер
/dev/shm(https://github.com/ansible-collections/community.docker/issues/726, https://github.com/ansible-collections/community.docker/pull/727). - docker_image — добавлена возможность задавать размер памяти и swap-памяти в единицах, отличных от байтов (https://github.com/ansible-collections/community.docker/pull/727).
- Плагины инвентаризации — добавлен параметр
filter, позволяющий включать и исключать узлы на основе условий Jinja2 (https://github.com/ansible-collections/community.docker/pull/698, https://github.com/ansible-collections/community.docker/issues/610).
Исправления ошибок
- В качестве значения по умолчанию для
docker_hostиспользуетсяunix:///var/run/docker.sockвместо устаревшегоunix://var/run/docker.sock(https://github.com/ansible-collections/community.docker/pull/736). - docker_image — исправлена идемпотентность архивирования для Docker API 1.44 и новее (https://github.com/ansible-collections/community.docker/pull/765).
Новые модули
- community.docker.docker_compose_v2 — управление многоконтейнерными приложениями Docker с помощью плагина CLI Docker Compose
- community.docker.docker_compose_v2_pull — загрузка проекта Docker Compose
- community.docker.docker_image_build — сборка образов Docker с помощью Docker buildx
- community.docker.docker_image_pull — загрузка образов Docker из реестров
- community.docker.docker_image_push — отправка образов Docker в реестры
- community.docker.docker_image_remove — удаление образов Docker
- community.docker.docker_image_tag — присвоение образам Docker новых имён и/или тегов
v3.5.0
Сводка выпуска
Выпуск с исправлениями ошибок и новыми возможностями.
Незначительные изменения
- docker_container — реализовано более точное сравнение строк
platformдля повышения идемпотентности (https://github.com/ansible-collections/community.docker/issues/654, https://github.com/ansible-collections/community.docker/pull/705). - docker_container — выполнен внутренний рефакторинг, позволяющий при сравнении использовать больше данных, например сведения о текущем образе или конфигурации узла Docker (https://github.com/ansible-collections/community.docker/pull/713).
Устаревшая функциональность
- docker_container — значение по умолчанию
ignoreдля параметраimage_name_mismatchобъявлено устаревшим и в community.docker 4.0.0 будет заменено наrecreate. Предупреждение об устаревании будет выводиться в случаях, когда используется значение по умолчанию и изменение этого значения приведёт к изменению поведения (https://github.com/ansible-collections/community.docker/pull/703).
Исправления ошибок
- Модули и плагины, использующие Docker SDK for Python — удалён параметр
ssl_versionиз параметров, передаваемых в Docker SDK for Python 7.0.0 и новее. Если он был задан явно, теперь выводится понятное сообщение об ошибке (https://github.com/ansible-collections/community.docker/pull/715). - Модули и плагины, использующие Docker SDK for Python — удалён параметр
tls_hostnameиз параметров, передаваемых в Docker SDK for Python 7.0.0 и новее. Если он был задан явно, теперь выводится понятное сообщение об ошибке (https://github.com/ansible-collections/community.docker/pull/721). - Встроенный код Docker SDK for Python — параметры
ssl_versionиtls_hostnameбольше не передаются, если пользователь их не указал. Удалён неиспользуемый код. (https://github.com/ansible-collections/community.docker/pull/722).
v3.4.11
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- docker_volume — исправлен сбой, вызванный обращением к пустому словарю.
has_different_config()вызывалAttributeError, поскольку словарьself.existing_volume["Labels"]былNone(https://github.com/ansible-collections/community.docker/pull/702).
v3.4.10
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- docker_swarm — операции инициализации и присоединения снова работают с версиями Docker SDK for Python ниже 4.0.0 (https://github.com/ansible-collections/community.docker/issues/695, https://github.com/ansible-collections/community.docker/pull/696).
v3.4.9
Сводка выпуска
Выпуск с обновлённой документацией и встроенным кодом Docker SDK for Python.
Исправления ошибок
- Встроенный код Docker SDK for Python — перенесены отдельные изменения из кода Docker SDK for Python для синхронизации кода. Эти изменения не должны затронуть части, используемые кодом коллекции (https://github.com/ansible-collections/community.docker/pull/694).
v3.4.8
Сводка выпуска
Выпуск с обновлённой документацией.
Начиная с этой версии, community.docker использует в документации новую семантическую разметку Ansible. Обратите внимание: если вы просматриваете документацию с помощью CLI-инструмента ansible-doc из ansible-core версии ниже 2.15, разметка отображается некорректно. В большинстве случаев документацию всё равно можно прочитать, но для её отображения в предусмотренном виде требуется ansible-core 2.15 или новее. Кроме того, вы можете открыть сайт документации для ветки devel, где представлена HTML-версия документации последнего выпуска.
Известные проблемы
- В выводе ansible-doc в текстовом формате для ansible-core ниже 2.15 разметка Ansible отображается в исходном виде. Если вам трудно разобраться в разметке документации, обновите ansible-core до версии 2.15 или новее либо прочитайте HTML-документацию по адресу https://docs.ansible.com/ansible/devel/collections/community/docker/.
v3.4.7
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- docker_swarm_info — при использовании
service=trueмодуль больше не аварийно завершает работу при обнаружении службы без спецификации конечной точки (https://github.com/ansible-collections/community.docker/issues/636, https://github.com/ansible-collections/community.docker/pull/637).
v3.4.6
Сводка выпуска
Выпуск с исправлениями ошибок и предупреждениями в документации об использовании определённых функций при подключении к демону Docker через TCP TLS.
Исправления ошибок
- Вспомогательные функции модуля socket_handler — обеспечена корректная работа, даже если Docker SDK for Python недоступен (https://github.com/ansible-collections/community.docker/pull/620).
- Встроенный код Docker SDK for Python — исправлены ошибки при закрытии канала в Windows (https://github.com/ansible-collections/community.docker/pull/619).
- Встроенный код Docker SDK for Python — учёт тайм-аутов для именованных каналов Windows (https://github.com/ansible-collections/community.docker/pull/619).
- Встроенный код Docker SDK for Python — используется
poll()вместоselect(), кроме Windows (https://github.com/ansible-collections/community.docker/pull/619).
Известные проблемы
- Плагин подключения docker_api не работает с сокетами TCP TLS! Это вызвано невозможностью отправить TLS-оповещение
close_notify, не закрыв соединение с помощьюSSLSocketв Python (https://github.com/ansible-collections/community.docker/issues/605, https://github.com/ansible-collections/community.docker/pull/621). - docker_container_exec не работает с сокетами TCP TLS, если используется параметр
stdin! Это вызвано невозможностью отправить TLS-оповещениеclose_notify, не закрыв соединение с помощьюSSLSocketв Python (https://github.com/ansible-collections/community.docker/issues/605, https://github.com/ansible-collections/community.docker/pull/621).
v3.4.5
Сводка выпуска
Выпуск сопровождения, добавляющий совместимость с requests 2.29.0 и 2.30.0, а также urllib3 2.0.
Исправления ошибок
- Встроенный код Docker SDK for Python приведён в соответствие с requests 2.29.0 и urllib3 2.0 (https://github.com/ansible-collections/community.docker/pull/613).
v3.4.4
Сводка выпуска
Выпуск сопровождения с обновлёнными требованиями EE и документацией.
Незначительные изменения
- Ограничены версии requests ниже 2.29.0, а urllib3 — ниже 2.0.0. Это необходимо, пока встроенный код Docker SDK for Python не будет полностью адаптирован для работы с функцией urllib3, используемой начиная с requests 2.29.0 (https://github.com/ansible-collections/community.docker/issues/611, https://github.com/ansible-collections/community.docker/pull/612).
Известные проблемы
- Модули и плагины, использующие встроенный код Docker SDK for Python, в настоящее время не работают с requests 2.29.0 и/или urllib3 2.0.0. То же самое пока справедливо и для последней версии самого Docker SDK for Python (https://github.com/ansible-collections/community.docker/issues/611, https://github.com/ansible-collections/community.docker/pull/612).
v3.4.3
Сводка выпуска
Выпуск сопровождения с улучшенной документацией.
v3.4.2
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- docker_prune — возвращается корректное значение для
changed. Ранее модуль всегда сообщал, что изменений не было (https://github.com/ansible-collections/community.docker/pull/593).
v3.4.1
Сводка выпуска
Очередной выпуск с исправлениями ошибок.
Исправления ошибок
- Плагин подключения docker_api, docker_container_exec, docker_container_copy_into — после выполнения команд в контейнерах сокет к демону корректно закрывается (https://github.com/ansible-collections/community.docker/pull/582).
- docker_container — исправлено отсутствие значений
tmfs_sizeиtmpfs_mode(https://github.com/ansible-collections/community.docker/pull/580). - Различные плагины и модули — удалены ненужные импорты (https://github.com/ansible-collections/community.docker/pull/574).
v3.4.0
Сводка выпуска
Очередной выпуск с исправлениями ошибок и новыми возможностями.
Незначительные изменения
- Плагин подключения docker_api — при копировании файлов в контейнер или из него содержимое файла передаётся потоком, а не сначала считывается в память (https://github.com/ansible-collections/community.docker/pull/545).
- docker_host_info — добавлена возможность выводить список всех контейнеров с новым параметром
containers_all(https://github.com/ansible-collections/community.docker/issues/535, https://github.com/ansible-collections/community.docker/pull/538).
Исправления ошибок
- Плагин подключения docker_api — исправлена обработка ошибок, когда демон Docker возвращает 409 Conflict для остановленного контейнера (https://github.com/ansible-collections/community.docker/pull/546).
- docker_container_exec — исправлена обработка ошибок, когда демон Docker возвращает 409 Conflict для остановленного контейнера (https://github.com/ansible-collections/community.docker/pull/546).
- docker_plugin — предотвращён сбой при установке плагина в режиме проверки (https://github.com/ansible-collections/community.docker/issues/552, https://github.com/ansible-collections/community.docker/pull/553).
- Большинство модулей — исправлена обработка переменной окружения
DOCKER_TIMEOUTи улучшена обработка других резервных переменных окружения (https://github.com/ansible-collections/community.docker/issues/551, https://github.com/ansible-collections/community.docker/pull/554).
Новые модули
- community.docker.docker_container_copy_into — копирование файла в контейнер Docker
v3.3.2
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- docker_container — при
detach=falseожидание продолжается неопределённо долго, а не максимум одну минуту. Таково было поведение Docker SDK for Python, которое случайно изменили в версии 3.0.0 (https://github.com/ansible-collections/community.docker/issues/526, https://github.com/ansible-collections/community.docker/pull/527).
v3.3.1
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- current_container_facts — улучшено обнаружение контейнеров в большем числе ситуаций (https://github.com/ansible-collections/community.docker/pull/522).
v3.3.0
Сводка выпуска
Выпуск с новыми возможностями и исправлениями ошибок.
Незначительные изменения
- current_container_facts — обеспечена работа с текущей версией Docker и добавлена поддержка Podman (https://github.com/ansible-collections/community.docker/pull/510).
- docker_image — при использовании
archive_pathнеобходимость изменений определяется по идентификатору (хешу) образа. Если существующий tar-архив соответствует исходному образу, никаких действий не выполняется. Ранее архив создавался заново при каждом запуске задачи (https://github.com/ansible-collections/community.docker/pull/500).
Исправления ошибок
- docker_container_exec — исправлен параметр
chdir, который игнорировался начиная с community.docker 3.0.0 (https://github.com/ansible-collections/community.docker/issues/517, https://github.com/ansible-collections/community.docker/pull/518). - Встроено исправление ошибки из последней версии Docker SDK for Python (https://github.com/ansible-collections/community.docker/pull/513, https://github.com/docker/docker-py/issues/3045).
v3.2.2
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- docker_container — начиная с версии 3.0.0 параметр
kill_signalпо ошибке перестал принимать строки (https://github.com/ansible-collections/community.docker/issues/505, https://github.com/ansible-collections/community.docker/pull/506).
v3.2.1
Сводка выпуска
Выпуск сопровождения с улучшенной документацией.
v3.2.0
Сводка выпуска
Выпуск с новыми функциями и устаревшими возможностями.
Незначительные изменения
- docker_container — добавлен параметр
image_name_mismatch, который позволяет управлять поведением в случае, если контейнер использует указанный образ, но в конфигурации контейнера для образа указано другое имя, чем переданное модулю (https://github.com/ansible-collections/community.docker/issues/485, https://github.com/ansible-collections/community.docker/pull/488).
Устаревшие возможности
- docker_container — параметр
ignore_imageустарел и будет удалён в community.docker 4.0.0. Вместо него используйтеimage: ignoreвcomparisons(https://github.com/ansible-collections/community.docker/pull/487). - docker_container — параметр
purge_networksустарел и будет удалён в community.docker 4.0.0. Вместо него используйтеnetworks: strictвcomparisonsи обязательно задайтеnetworksсо значением[], если нужно удалить все сети (https://github.com/ansible-collections/community.docker/pull/487).
v3.1.0
Сводка выпуска
Выпуск с новыми функциями.
Незначительные изменения
- Репозиторий коллекции соответствует спецификации REUSE, за исключением фрагментов журнала изменений (https://github.com/ansible-collections/community.docker/pull/462).
- docker_swarm — позволяет использовать параметр
data_path_portпри инициализации swarm (https://github.com/ansible-collections/community.docker/issues/296).
v3.0.2
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- docker_image — исправлена обработка аргументов сборки (https://github.com/ansible-collections/community.docker/issues/455, https://github.com/ansible-collections/community.docker/pull/456).
v3.0.1
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- docker_container — исправлена обработка
env_file(https://github.com/ansible-collections/community.docker/issues/451, https://github.com/ansible-collections/community.docker/pull/452).
v3.0.0
Сводка выпуска
В выпуске 3.0.0 модуль docker_container был переработан, а многие модули и плагины больше не зависят от Docker SDK for Python.
Крупные изменения
- Теперь коллекция содержит включённый в неё код Docker SDK for Python для взаимодействия с демоном Docker. Модулям и плагинам, использующим этот код, больше не требуется устанавливать Docker SDK for Python на компьютер, где выполняется модуль или плагин (https://github.com/ansible-collections/community.docker/pull/398).
- Плагин подключения docker_api — больше не использует Docker SDK for Python. Для его работы требуется установить
requests; в зависимости от используемых функций могут потребоваться дополнительные компоненты. Если установлен Docker SDK for Python, эти требования, вероятно, уже выполнены (https://github.com/ansible-collections/community.docker/pull/414). - docker_container — больше не использует Docker SDK for Python. Для его работы требуется установить
requests; в зависимости от используемых функций могут потребоваться дополнительные компоненты. Если установлен Docker SDK for Python, эти требования, вероятно, уже выполнены (https://github.com/ansible-collections/community.docker/pull/422). - docker_container — модуль полностью переписан с нуля (https://github.com/ansible-collections/community.docker/pull/422).
- docker_container_exec — больше не использует Docker SDK for Python. Для его работы требуется установить
requests; в зависимости от используемых функций могут потребоваться дополнительные компоненты. Если установлен Docker SDK for Python, эти требования, вероятно, уже выполнены (https://github.com/ansible-collections/community.docker/pull/401). - docker_container_info — больше не использует Docker SDK for Python. Для его работы требуется установить
requests; в зависимости от используемых функций могут потребоваться дополнительные компоненты. Если установлен Docker SDK for Python, эти требования, вероятно, уже выполнены (https://github.com/ansible-collections/community.docker/pull/402). - Плагин инвентаризации docker_containers — больше не использует Docker SDK for Python. Для его работы требуется установить
requests; в зависимости от используемых функций могут потребоваться дополнительные компоненты. Если установлен Docker SDK for Python, эти требования, вероятно, уже выполнены (https://github.com/ansible-collections/community.docker/pull/413). - docker_host_info — больше не использует Docker SDK for Python. Для его работы требуется установить
requests; в зависимости от используемых функций могут потребоваться дополнительные компоненты. Если установлен Docker SDK for Python, эти требования, вероятно, уже выполнены (https://github.com/ansible-collections/community.docker/pull/403). - docker_image — больше не использует Docker SDK for Python. Для его работы требуется установить
requests; в зависимости от используемых функций могут потребоваться дополнительные компоненты. Если установлен Docker SDK for Python, эти требования, вероятно, уже выполнены (https://github.com/ansible-collections/community.docker/pull/404). - docker_image_info — больше не использует Docker SDK for Python. Для его работы требуется установить
requests; в зависимости от используемых функций могут потребоваться дополнительные компоненты. Если установлен Docker SDK for Python, эти требования, вероятно, уже выполнены (https://github.com/ansible-collections/community.docker/pull/405). - docker_image_load — больше не использует Docker SDK for Python. Для его работы требуется установить
requests; в зависимости от используемых функций могут потребоваться дополнительные компоненты. Если установлен Docker SDK for Python, эти требования, вероятно, уже выполнены (https://github.com/ansible-collections/community.docker/pull/406). - docker_login — больше не использует Docker SDK for Python. Для его работы требуется установить
requests; в зависимости от используемых функций могут потребоваться дополнительные компоненты. Если установлен Docker SDK for Python, эти требования, вероятно, уже выполнены (https://github.com/ansible-collections/community.docker/pull/407). - docker_network — больше не использует Docker SDK for Python. Для его работы требуется установить
requests; в зависимости от используемых функций могут потребоваться дополнительные компоненты. Если установлен Docker SDK for Python, эти требования, вероятно, уже выполнены (https://github.com/ansible-collections/community.docker/pull/408). - docker_network_info — больше не использует Docker SDK for Python. Для его работы требуется установить
requests; в зависимости от используемых функций могут потребоваться дополнительные компоненты. Если установлен Docker SDK for Python, эти требования, вероятно, уже выполнены (https://github.com/ansible-collections/community.docker/pull/409). - docker_plugin — больше не использует Docker SDK for Python. Для его работы требуется установить
requests; в зависимости от используемых функций могут потребоваться дополнительные компоненты. Если установлен Docker SDK for Python, эти требования, вероятно, уже выполнены (https://github.com/ansible-collections/community.docker/pull/429). - docker_prune — больше не использует Docker SDK for Python. Для его работы требуется установить
requests; в зависимости от используемых функций могут потребоваться дополнительные компоненты. Если установлен Docker SDK for Python, эти требования, вероятно, уже выполнены (https://github.com/ansible-collections/community.docker/pull/410). - docker_volume — больше не использует Docker SDK for Python. Для его работы требуется установить
requests; в зависимости от используемых функций могут потребоваться дополнительные компоненты. Если установлен Docker SDK for Python, эти требования, вероятно, уже выполнены (https://github.com/ansible-collections/community.docker/pull/411). - docker_volume_info — больше не использует Docker SDK for Python. Для его работы требуется установить
requests; в зависимости от используемых функций могут потребоваться дополнительные компоненты. Если установлен Docker SDK for Python, эти требования, вероятно, уже выполнены (https://github.com/ansible-collections/community.docker/pull/412).
Незначительные изменения
- Теперь все лицензии на программное обеспечение находятся в каталоге
LICENSES/в корне коллекции. Кроме того, для указания применимой лицензии каждого файла, не созданного автоматически, используетсяSPDX-License-Identifier:(https://github.com/ansible-collections/community.docker/pull/430). - Удалена включённая в коллекцию копия
distutils.version; вместо неё используется копия, входящая в ansible-core 2.12+. Для ansible-core 2.11 используетсяdistutils.versionпри Python < 3.12. ansible-core 2.11 с Python 3.12+ не поддерживается (https://github.com/ansible-collections/community.docker/pull/271). - docker_container — добавлен новый параметр
image_comparisonдля управления тем, какой образ будет использоваться при проверках идемпотентности (https://github.com/ansible-collections/community.docker/issues/421, https://github.com/ansible-collections/community.docker/pull/428). - docker_container — добавлена поддержка
cgroupns_mode(https://github.com/ansible-collections/community.docker/issues/338, https://github.com/ansible-collections/community.docker/pull/427). - docker_container — добавлена возможность указывать
platform(https://github.com/ansible-collections/community.docker/issues/123, https://github.com/ansible-collections/community.docker/pull/426). - Модули и плагины, напрямую взаимодействующие с демоном Docker, — улучшен выбор версии TLS по умолчанию для Python 3.6 и новее. Это изменение касается только более ранних предварительных выпусков community.docker 3.0.0 или версий Docker SDK for Python < 6.0.0. Это изменение также войдёт в Docker SDK for Python 6.0.0 (https://github.com/ansible-collections/community.docker/pull/434).
- Модули и плагины, напрямую взаимодействующие с демоном Docker, — упрощено использование вспомогательной функции для поиска исполняемых файлов, удалённой из Docker SDK for Python (https://github.com/ansible-collections/community.docker/pull/438).
- Утилиты модулей socker_handler и socket_helper — улучшена совместимость с будущими версиями Python, добавлены вспомогательные функции для блокировки и разблокировки файлов (https://github.com/ansible-collections/community.docker/pull/415).
Несовместимые изменения / руководство по переносу
- Эта коллекция не работает с ansible-core 2.11 на Python 3.12+. Обновитесь до ansible-core 2.12+ или используйте Python 3.11 либо более раннюю версию (https://github.com/ansible-collections/community.docker/pull/271).
- docker_container —
exposed_portsбольше не игнорируется вcomparisons. Ранее предполагалось, что его значение совпадает со значениемpublished_ports(https://github.com/ansible-collections/community.docker/pull/422). - docker_container —
log_optionsбольше нельзя указывать, если не указанlog_driver(https://github.com/ansible-collections/community.docker/pull/422). - docker_container —
publish_all_portsбольше не игнорируется вcomparisons(https://github.com/ansible-collections/community.docker/pull/422). - docker_container —
restart_retriesбольше нельзя указывать, если не указанrestart_policy(https://github.com/ansible-collections/community.docker/pull/422). - docker_container —
stop_timeoutбольше не игнорируется при проверке идемпотентности, если вcomparisonsзадано, что его не нужно игнорировать. Ранее там по умолчанию использовалосьignore, а установка значенияstrictне влияла на поведение (https://github.com/ansible-collections/community.docker/pull/422). - Модули и плагины, напрямую взаимодействующие с демоном Docker, — при подключении по SSH без использования
use_ssh_client=trueнеизвестные ключи хоста теперь отклоняются, а не принимаются. Это несовместимое изменение касается только более ранних предварительных выпусков community.docker 3.0.0 или версий Docker SDK for Python < 6.0.0. Это изменение также войдёт в Docker SDK for Python 6.0.0 (https://github.com/ansible-collections/community.docker/pull/434).
Удалённые возможности (ранее объявленные устаревшими)
- Среды выполнения, созданные с помощью community.docker, больше не включают docker-compose < 2.0.0. Если вам нужно использовать его с модулем
docker_compose, установите эту зависимость вручную (https://github.com/ansible-collections/community.docker/pull/400). - Поддержка Ansible 2.9 и ansible-base 2.10 удалена. Если вам нужна поддержка Ansible 2.9 или ansible-base 2.10, используйте community.docker 2.x.y (https://github.com/ansible-collections/community.docker/pull/400).
- Поддержка версий Docker API с 1.20 по 1.24 удалена. Если вам нужна поддержка этих версий API, используйте community.docker 2.x.y (https://github.com/ansible-collections/community.docker/pull/400).
- Поддержка Python 2.6 удалена. Если вам нужна поддержка Python 2.6, используйте community.docker 2.x.y (https://github.com/ansible-collections/community.docker/pull/400).
- Различные модули — значение по умолчанию
tls_hostname(localhost) удалено. Если вы хотите продолжить использоватьlocalhost, необходимо указать его явно (https://github.com/ansible-collections/community.docker/pull/363). - docker_container — значение
allбольше не разрешено вpublished_ports. Вместо него используйтеpublish_all_ports=true(https://github.com/ansible-collections/community.docker/pull/399). - docker_container — значение по умолчанию для
command_handlingизменено сcompatibilityнаcorrect. В более ранних версиях при каждом запуске модуля выдавалось предупреждение, если это приводило к изменению поведения (https://github.com/ansible-collections/community.docker/pull/399). - docker_stack — возвращаемые значения
outиerrудалены. Вместо них используйтеstdoutиstderr(https://github.com/ansible-collections/community.docker/pull/363).
Исправления безопасности
- Модули и плагины, напрямую взаимодействующие с демоном Docker, — при подключении по SSH без использования
use_ssh_client=trueнеизвестные ключи хоста теперь отклоняются, а не принимаются. Это изменение касается только более ранних предварительных выпусков community.docker 3.0.0 или версий Docker SDK for Python < 6.0.0. Это изменение также войдёт в Docker SDK for Python 6.0.0 (https://github.com/ansible-collections/community.docker/pull/434).
Исправления ошибок
- docker_image — при формировании контекста сборки удаляются завершающие пробелы в записях
.dockerignore. Это изменение касается только более ранних предварительных выпусков community.docker 3.0.0 или версий Docker SDK for Python < 6.0.0. Это изменение также войдёт в Docker SDK for Python 6.0.0 (https://github.com/ansible-collections/community.docker/pull/434). - docker_plugin — исправлено аварийное завершение при обработке параметров плагина (https://github.com/ansible-collections/community.docker/issues/446, https://github.com/ansible-collections/community.docker/pull/447).
- docker_stack — исправлено некорректное форматирование строки при сообщении об ошибке, если
composeсодержал недопустимые значения (https://github.com/ansible-collections/community.docker/pull/448). - Модули и плагины, напрямую взаимодействующие с демоном Docker, — при использовании
use_ssh_client=trueдля SSH-подключений больше не создаётся вложенная оболочка. Это изменение касается только более ранних предварительных выпусков community.docker 3.0.0 или версий Docker SDK for Python < 6.0.0. Это изменение также войдёт в Docker SDK for Python 6.0.0 (https://github.com/ansible-collections/community.docker/pull/434). - Модули и плагины, напрямую взаимодействующие с демоном Docker, — исправлена обработка
ProxyCommandдля SSH-подключений без использованияuse_ssh_client=true. Это изменение касается только более ранних предварительных выпусков community.docker 3.0.0 или версий Docker SDK for Python < 6.0.0. Это изменение также войдёт в Docker SDK for Python 6.0.0 (https://github.com/ansible-collections/community.docker/pull/434). - Модули и плагины, напрямую взаимодействующие с демоном Docker, — исправлен разбор IPv6-адресов с портом в
docker_host. Это изменение касается только более ранних предварительных выпусков community.docker 3.0.0 или версий Docker SDK for Python < 6.0.0. Это изменение также войдёт в Docker SDK for Python 6.0.0 (https://github.com/ansible-collections/community.docker/pull/434). - Модули и плагины, напрямую взаимодействующие с демоном Docker, — предотвращено аварийное завершение при использовании TLS (https://github.com/ansible-collections/community.docker/pull/432).
v2.7.0
Сводка выпуска
Выпуск с исправлениями ошибок и устаревшими возможностями. Следующие выпуски 2.x.y будут содержать только исправления ошибок; следующий ожидаемый минорный или мажорный выпуск — 3.0.0, в котором появятся некоторые крупные изменения.
Незначительные изменения
- Общие вспомогательные функции перенесены из module_util
commonв новый module_util под названиемutil. Это не должно повлиять на пользователей (https://github.com/ansible-collections/community.docker/pull/390).
Устаревшие возможности
- Поддержка версий Docker API с 1.20 по 1.24 объявлена устаревшей и будет удалена в community.docker 3.0.0. Первой версией Docker с поддержкой API версии 1.25 стала Docker 1.13, выпущенная в январе 2017 года. Это затрагивает модули
docker_container,docker_container_exec,docker_container_info,docker_compose,docker_login,docker_image,docker_image_info,docker_image_load,docker_host_info,docker_network,docker_network_info,docker_node_info,docker_swarm_info,docker_swarm_service,docker_swarm_service_info,docker_volume_infoиdocker_volume, минимально поддерживаемые версии API которых находятся в диапазоне от 1.20 до 1.24 (https://github.com/ansible-collections/community.docker/pull/396). - Поддержка Python 2.6 объявлена устаревшей и будет удалена в следующем мажорном выпуске (community.docker 3.0.0). Некоторые модули могут продолжить работать с Python 2.6, но мы больше не будем обеспечивать совместимость (https://github.com/ansible-collections/community.docker/pull/388).
Исправления ошибок
- Модули и плагины на основе Docker SDK for Python — если версия API указана как параметр, она используется для проверки требований к версии API для параметров модуля/плагина вместо последней версии API, поддерживаемой демоном Docker. Это также позволяет избежать одного ненужного вызова API для каждого модуля/плагина (https://github.com/ansible-collections/community.docker/pull/389).
v2.6.0
Сводка выпуска
Выпуск с исправлениями ошибок и новыми функциями.
Незначительные изменения
- docker_container — добавлен параметр
image_label_mismatch(https://github.com/ansible-collections/community.docker/issues/314, https://github.com/ansible-collections/community.docker/pull/370).
Устаревшие возможности
- Поддержка Ansible 2.9 и ansible-base 2.10 объявлена устаревшей и будет удалена в следующем мажорном выпуске (community.docker 3.0.0). Некоторые модули могут продолжить работать с этими версиями, но мы больше не будем сохранять код совместимости, необходимый для их поддержки (https://github.com/ansible-collections/community.docker/pull/361).
- Зависимость сред выполнения от docker-compose объявлена устаревшей и будет удалена в community.docker 3.0.0. Библиотека Python docker-compose больше не поддерживается и может вызывать проблемы с зависимостями. При необходимости её по-прежнему можно установить вручную в среду выполнения (https://github.com/ansible-collections/community.docker/pull/373).
- Различные модули — значение по умолчанию
tls_hostname, которое планировалось удалить в community.docker 2.0.0, теперь будет удалено в версии 3.0.0 (https://github.com/ansible-collections/community.docker/pull/362). - docker_stack — возвращаемые значения
outиerr, которые планировалось удалить в community.docker 2.0.0, теперь будут удалены в версии 3.0.0 (https://github.com/ansible-collections/community.docker/pull/362).
Исправления ошибок
- docker_container — вместо аварийного завершения выводится понятное сообщение, если порт указан более чем тремя частями, разделёнными двоеточиями (https://github.com/ansible-collections/community.docker/pull/367, https://github.com/ansible-collections/community.docker/issues/365).
- docker_container — удалён неиспользуемый код, который вызывает проблемы с Python 3.13 (https://github.com/ansible-collections/community.docker/pull/354).
v2.5.1
Сводка выпуска
Выпуск для сопровождения.
Исправления ошибок
- Добавлен файл
PSF-license.txtдляplugins/module_utils/_version.py.
v2.5.0
Сводка выпуска
Очередной выпуск с новыми функциями.
Незначительные изменения
- docker_config — добавлена поддержка
template_driverс одним параметромgolang(https://github.com/ansible-collections/community.docker/issues/332, https://github.com/ansible-collections/community.docker/pull/345). - docker_swarm — добавлен параметр
data_path_addrпри инициализации swarm или присоединении к нему (https://github.com/ansible-collections/community.docker/issues/339).
v2.4.0
Сводка выпуска
Очередной выпуск с новыми функциями и исправлениями ошибок.
Незначительные изменения
- Подготовлена коллекция для включения в среду выполнения (Execution Environment): объявлены ее зависимости. Модули
docker_stack*не поддерживаются (https://github.com/ansible-collections/community.docker/pull/336). - current_container_facts — добавлено обнаружение GitHub Actions (https://github.com/ansible-collections/community.docker/pull/336).
- docker_container — добавлена поддержка возврата журналов контейнера Docker при использовании драйвера журналирования Docker
local— оптимизированного локального драйвера журналирования, появившегося в Docker 18.09 (https://github.com/ansible-collections/community.docker/pull/337).
Исправления ошибок
- Плагин подключения docker — обеспечено использование
docker_extra_argsдля получения версии Docker. Также обеспечено получение версии Docker только при необходимости. Сейчас это происходит, если указан удаленный пользователь (https://github.com/ansible-collections/community.docker/issues/325, https://github.com/ansible-collections/community.docker/pull/327).
v2.3.0
Сводка выпуска
Очередной выпуск с новыми функциями и исправлениями ошибок.
Незначительные изменения
- Плагин подключения docker — реализован сброс подключения путем очистки внутреннего кэша пользователей контейнера (https://github.com/ansible-collections/community.docker/pull/312).
- Плагин подключения docker — упрощен код обработки
actual_user(https://github.com/ansible-collections/community.docker/pull/311). - Плагин подключения docker — добавлена поддержка новых способов задания времени ожидания. Это переменная среды
ANSIBLE_DOCKER_TIMEOUT, параметрtimeoutв разделеdocker_connectionфайлаansible.cfgи переменнаяansible_docker_timeout(https://github.com/ansible-collections/community.docker/pull/297). - Плагин подключения docker_api — реализован сброс подключения путем очистки внутреннего кэша идентификаторов пользователей и групп контейнера (https://github.com/ansible-collections/community.docker/pull/312).
- Плагин подключения docker_api — добавлена поддержка новых способов задания времени ожидания. Это переменная среды
ANSIBLE_DOCKER_TIMEOUT, параметрtimeoutв разделеdocker_connectionфайлаansible.cfgи переменнаяansible_docker_timeout(https://github.com/ansible-collections/community.docker/pull/308).
Исправления ошибок
- Плагин подключения docker — исправлена обработка параметров для совместимости с ansible-core 2.13 (https://github.com/ansible-collections/community.docker/pull/297, https://github.com/ansible-collections/community.docker/issues/307).
- Плагин подключения docker_api — исправлена обработка параметров для совместимости с ansible-core 2.13 (https://github.com/ansible-collections/community.docker/pull/308).
v2.2.1
Сводка выпуска
Очередной выпуск с исправлениями ошибок.
Исправления ошибок
- docker_compose — исправлена ошибка типов в Python 3 при извлечении предупреждений или ошибок из вывода docker-compose (https://github.com/ansible-collections/community.docker/pull/305).
v2.2.0
Сводка выпуска
Очередной выпуск с новыми функциями и исправлениями ошибок.
Незначительные изменения
- docker_config — добавлена поддержка последовательного обновления; задайте
rolling_versionsзначениеtrue, чтобы включить ее (https://github.com/ansible-collections/community.docker/pull/295, https://github.com/ansible-collections/community.docker/issues/109). - docker_secret — добавлена поддержка последовательного обновления; задайте
rolling_versionsзначениеtrue, чтобы включить ее (https://github.com/ansible-collections/community.docker/pull/293, https://github.com/ansible-collections/community.docker/issues/21). - docker_swarm_service — добавлена поддержка настройки возможностей с помощью параметров
cap_addиcap_drop. Использование такое же, как для параметровcapabilitiesиcap_dropвdocker_container(https://github.com/ansible-collections/community.docker/pull/294).
Исправления ошибок
- docker_container, docker_image — скорректирован код поиска образов с учетом особенностей эмуляции API в
podman-dockerпри использовании коротких имен Docker, напримерredis(https://github.com/ansible-collections/community.docker/issues/292).
v2.1.1
Сводка выпуска
Экстренный выпуск для исправления критического изменения в предыдущем выпуске.
Исправления ошибок
- Исправлено непреднамеренное критическое изменение, внесенное предыдущим исправлением: устаревшая стандартная библиотека Python
distutils.versionвключена в коллекцию до тех пор, пока эта коллекция поддерживает Ansible 2.9 и ansible-base 2.10 (https://github.com/ansible-collections/community.docker/issues/267, https://github.com/ansible-collections/community.docker/pull/269).
v2.1.0
Сводка выпуска
Выпуск с новыми функциями и исправлениями ошибок.
Незначительные изменения
- docker_container_exec — добавлен параметр
detach(https://github.com/ansible-collections/community.docker/issues/250, https://github.com/ansible-collections/community.docker/pull/255). - docker_container_exec — добавлен параметр
env(https://github.com/ansible-collections/community.docker/issues/248, https://github.com/ansible-collections/community.docker/pull/254).
Исправления ошибок
- Различные модули и плагины — используется включенная в ansible-core 2.12 версия
distutils.version, если она доступна. Это предотвращает сбои при удаленииdistutilsиз стандартной библиотеки Python 3.12. Обратите внимание: ansible-core 2.11, ansible-base 2.10 и Ansible 2.9 на данный момент несовместимы с Python 3.12, поэтому это исправление не распространяется на эти версии ansible-core/-base/2.9 (https://github.com/ansible-collections/community.docker/pull/258). - Плагин подключения docker — устаревший
distutils.spawn.find_executableзаменен наget_bin_pathиз Ansible для поиска исполняемого файлаdocker(https://github.com/ansible-collections/community.docker/pull/257). - docker_container_exec — запрещено использование параметра
chdirс Docker API версии ниже 1.35 (https://github.com/ansible-collections/community.docker/pull/253).
v2.0.2
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- Плагин подключения docker_api — исключена передача ненужного аргумента при вызове Docker SDK for Python, который поддерживается только начиная с версии 3.0.0 (https://github.com/ansible-collections/community.docker/pull/243).
- docker_container_exec —
chdirподдерживается только начиная с Docker SDK for Python 3.0.0. Обеспечено использование этого параметра только при установленной версии 3.0.0 или новее; также предотвращена передача этого параметра, еслиchdirне передан этому модулю (https://github.com/ansible-collections/community.docker/pull/243, https://github.com/ansible-collections/community.docker/issues/242). - Плагин подключения nsenter — обеспечено получение параметра
nsenter_pidв_connectвместо__init__, чтобы предотвратить сбой из-за неправильного порядка инициализации (https://github.com/ansible-collections/community.docker/pull/249). - Плагин подключения nsenter — использование
--all-namespacesзаменено на конкретные пространства имен для поддержки совместимости с Busybox nsenter (который используется, например, в контейнерах Alpine) (https://github.com/ansible-collections/community.docker/pull/249).
v2.0.1
Сводка выпуска
Выпуск с исправлениями документации и другими изменениями для обслуживания.
v2.0.0
Сводка выпуска
Новый мажорный выпуск: удалены некоторые устаревшие возможности, внесено критическое изменение в модуль docker_compose, касающееся параметра timeout.
Критические изменения / руководство по переносу
- docker_compose — исправлено поведение по умолчанию для
timeout: значениеstop_grace_period, если оно задано в файле compose, будет использоваться, когдаtimeoutне указан (https://github.com/ansible-collections/community.docker/pull/163).
Устаревшие возможности
- docker_container — использование специального значения
allвpublished_portsпризнано устаревшим. Вместо него используйтеpublish_all_ports=true(https://github.com/ansible-collections/community.docker/pull/210).
Удаленные возможности (ранее признанные устаревшими)
- docker_container — значение по умолчанию для
container_default_behaviorизменено наno_defaults(https://github.com/ansible-collections/community.docker/pull/210). - docker_container — значением по умолчанию для
network_modeтеперь является имя первой сети, указанной вnetworks, если такие сети указаны иnetworks_cli_compatible=true(https://github.com/ansible-collections/community.docker/pull/210). - docker_container — специальное значение
allбольше нельзя использовать вpublished_portsвместе с другими значениями. Вместо него используйтеpublish_all_ports=true(https://github.com/ansible-collections/community.docker/pull/210). - docker_login — удален параметр
email(https://github.com/ansible-collections/community.docker/pull/210).
v1.10.0
Сводка выпуска
Очередной выпуск с новыми функциями и исправлениями ошибок.
Незначительные изменения
- Модули docker_container_exec, docker_image_load и docker_plugin добавлены в группу значений по умолчанию модуля
docker(https://github.com/ansible-collections/community.docker/pull/209). - docker_config — добавлен параметр
data_srcдля чтения данных конфигурации с целевого узла (https://github.com/ansible-collections/community.docker/issues/64, https://github.com/ansible-collections/community.docker/pull/203). - docker_secret — добавлен параметр
data_srcдля чтения секретных данных с целевого узла (https://github.com/ansible-collections/community.docker/issues/64, https://github.com/ansible-collections/community.docker/pull/203).
v1.9.1
Сводка выпуска
Очередной выпуск с исправлениями ошибок.
Исправления ошибок
- docker_compose — исправлен неверный статус
changedдля служб, у которых заданprofiles, но ни один из них не включен (https://github.com/ansible-collections/community.docker/pull/192).
v1.9.0
Сводка выпуска
Выпуск с новыми исправлениями ошибок и функциями.
Незначительные изменения
- Модули docker_* — добавлена трассировка стека
ImportErrorпри сообщении о том, что Docker SDK for Python не найден (https://github.com/ansible-collections/community.docker/pull/188). - docker_compose — добавлен параметр
env_fileдля указания пользовательских файлов среды (https://github.com/ansible-collections/community.docker/pull/174). - docker_container — добавлен параметр
publish_all_portsдля публикации всех открытых портов на случайные порты, кроме портов, явно привязанных с помощьюpublished_ports(он уже был добавлен в community.docker 1.8.0) (https://github.com/ansible-collections/community.docker/pull/162). - docker_container — добавлен новый параметр
command_handlingс текущим устаревшим значением по умолчаниюcompatibility, позволяющий управлять обработкой кавычек оболочки при интерпретации списков, а также обработкой пустых списков и строк. В community.docker 3.0.0 значение по умолчанию изменится наcorrect(https://github.com/ansible-collections/community.docker/pull/186). - docker_container — снято ограничение, запрещавшее создание анонимных томов с параметром
mounts(https://github.com/ansible-collections/community.docker/pull/181).
Устаревшие возможности
- docker_container — новое значение по умолчанию для
command_handling,compatibility, признано устаревшим и в community.docker 3.0.0 будет заменено наcorrect. Модуль выводит предупреждение об устаревании в случаях, когда поведение изменится. Обратите внимание: ansible-core выводит такое предупреждение только один раз, поэтому, если оно появилось для предыдущей задачи, для других задач с таким предупреждением оно может не отображаться (https://github.com/ansible-collections/community.docker/pull/186).
Исправления ошибок
- docker_compose — устранены сбои задач при запуске служб с использованием
docker-compose <1.17.0(https://github.com/ansible-collections/community.docker/issues/180). - docker_container — обеспечен возврат
containerдляdetached=false, если код состояния ненулевой (https://github.com/ansible-collections/community.docker/pull/178). - docker_stack_info — обеспечено выполнение модуля в режиме проверки (https://github.com/ansible-collections/community.docker/pull/183).
- docker_stack_task_info — обеспечено выполнение модуля в режиме проверки (https://github.com/ansible-collections/community.docker/pull/183).
Новые плагины
Подключение
- community.docker.nsenter — выполнение на узле, где запущен контейнер контроллера
v1.8.0
Сводка выпуска
Очередной выпуск с исправлениями ошибок и новыми функциями.
Незначительные изменения
- Вместо внутренних модулей ansible-core module_utils используются эквивалентные общедоступные API, доступные как минимум с Ansible 2.9 (https://github.com/ansible-collections/community.docker/pull/164).
- docker_compose — добавлен параметр
profilesдля указания профилей служб при их запуске (https://github.com/ansible-collections/community.docker/pull/167). - Плагин инвентаризации docker_containers — теперь при
connection_type=docker-apiпараметры подключения к демону Docker передаются из плагина инвентаризации в плагин подключения. Это можно отключить, задавconfigure_docker_daemon=false(https://github.com/ansible-collections/community.docker/pull/157). - docker_host_info — значения ключей в
containers_filters,images_filters,networks_filtersиvolumes_filtersразрешено передавать в виде списков YAML (https://github.com/ansible-collections/community.docker/pull/160). - docker_plugin — добавлен параметр
aliasдля указания локальных имен плагинов Docker (https://github.com/ansible-collections/community.docker/pull/161).
Исправления ошибок
- docker_compose — исправлена ошибка идемпотентности при использовании
stopped: true(https://github.com/ansible-collections/community.docker/issues/142, https://github.com/ansible-collections/community.docker/pull/159).
v1.7.0
Сводка выпуска
Небольшой выпуск с новыми функциями и исправлениями ошибок.
Незначительные изменения
- docker_image — разрешена маркировка образов по идентификатору (https://github.com/ansible-collections/community.docker/pull/149).
v1.6.1
Сводка выпуска
Выпуск с исправлением ошибок, сокращающий количество предупреждений об устаревании.
Исправления ошибок
- Модули и плагины docker_*, за исключением плагина подключения
docker_swarmиdocker_composeиdocker_stack*` modules - only emit ``tls_hostname— сообщение об устаревании выводится, только если TLS действительно используется (https://github.com/ansible-collections/community.docker/pull/143).
v1.6.0
Сводка выпуска
Очередной выпуск с исправлениями ошибок и новыми функциями.
Незначительные изменения
- Общие утилиты модулей — исправлены сообщения об ошибках с рекомендациями по установке подходящего модуля Docker SDK for Python (https://github.com/ansible-collections/community.docker/pull/125).
- docker_container — разрешено задавать
memory_swap: -1для снятия ограничения на объем подкачки памяти. Это полезно, если пользователь не может задавать ограничения на объем подкачки памяти из-за ограничений cgroup или по другим причинам: по умолчанию Docker пытается установить объем подкачки, вдвое превышающий значениеmemory(https://github.com/ansible-collections/community.docker/pull/138).
Устаревшие возможности
- Модули и плагины docker_*, за исключением плагина подключения
docker_swarm: параметрdocker_composeиdocker_stack*` modules - the current default ``localhostдляtls_hostnameпризнан устаревшим. В community.docker 2.0.0 он будет вычисляться на основеdocker_host(https://github.com/ansible-collections/community.docker/pull/134).
Исправления ошибок
- docker-compose — исправлена ошибка, из-за которой загрузка не выполнялась при
state: presentиstopped: true(https://github.com/ansible-collections/community.docker/issues/12, https://github.com/ansible-collections/community.docker/pull/119). - docker_plugin — после установки также выполняется настройка плагина (https://github.com/ansible-collections/community.docker/issues/118, https://github.com/ansible-collections/community.docker/pull/135).
- docker_swarm_services — предотвращен сбой при проверке идемпотентности, если
published_portне указан (https://github.com/ansible-collections/community.docker/issues/107, https://github.com/ansible-collections/community.docker/pull/136).
v1.5.0
Сводка выпуска
Очередной выпуск с новыми функциями.
Незначительные изменения
- В большинство модулей и плагинов docker добавлен параметр
use_ssh_client(https://github.com/ansible-collections/community.docker/issues/108, https://github.com/ansible-collections/community.docker/pull/114).
Исправления ошибок
- Все модули — для преобразования исключений в строки используется
to_native(https://github.com/ansible-collections/community.docker/pull/121).
Новые модули
- community.docker.docker_container_exec — выполнение команды в контейнере Docker
v1.4.0
Краткое описание выпуска
Выпуск с исправлением уязвимости, устраняющий ещё одну потенциальную утечку секретов. Также включает обычные исправления ошибок и новые функции.
Незначительные изменения
- docker_swarm_service — параметр
publish.published_portизменён с обязательного на необязательный. Если порт не указан, Docker назначит случайный порт из верхнего диапазона (https://github.com/ansible-collections/community.docker/issues/99).
Критические изменения / руководство по переносу
- docker_swarm — если указан
join_token, возвращаемый токен присоединения с таким же значением будет заменён наVALUE_SPECIFIED_IN_NO_LOG_PARAMETER. Не используйте вслепую токены присоединения из возвращаемого значения этого модуля, если при его вызове указанjoin_token! Это критическое изменение появилось в минорном выпуске, поскольку оно необходимо для устранения проблемы безопасности (https://github.com/ansible-collections/community.docker/pull/103).
Исправления уязвимостей
- docker_swarm — параметр
join_tokenтеперь помечен какno_log, поэтому больше не записывается в журналы (https://github.com/ansible-collections/community.docker/pull/103).
Исправления ошибок
-
docker_swarm_service— исправлена ошибка KeyError, вызванная обращением к устаревшему параметруupdate_failure_action(https://github.com/ansible-collections/community.docker/pull/100). - docker_swarm_service — параметр модуля
secretsпомечен какno_log=False, поскольку он не приводит к утечке секретов (https://github.com/ansible-collections/community.general/pull/2001).
v1.3.0
Краткое описание выпуска
Обычный выпуск с новыми функциями и исправлениями ошибок.
Незначительные изменения
- docker_container — добавлен параметр
storage_optsдля указания параметров хранилища (https://github.com/ansible-collections/community.docker/issues/91, https://github.com/ansible-collections/community.docker/pull/93). - docker_image — добавлена возможность указать платформу для загрузки
source=pullс помощью нового параметраpull_platform(https://github.com/ansible-collections/community.docker/issues/79, https://github.com/ansible-collections/community.docker/pull/89). - docker_image — обеспечена корректная поддержка идентификаторов образов (хешей) при загрузке и присвоении тегов образам (https://github.com/ansible-collections/community.docker/issues/86, https://github.com/ansible-collections/community.docker/pull/87).
- docker_swarm_service — добавлена поддержка максимального количества задач на узел (
replicas_max_per_node) при запуске службы Swarm в режиме репликации. Функция добавлена в API 1.40 (https://github.com/ansible-collections/community.docker/issues/7, https://github.com/ansible-collections/community.docker/pull/92).
Исправления ошибок
- docker_container — исправлена проблема идемпотентности при отключении проверки состояния из-за строгого сравнения (https://github.com/ansible-collections/community.docker/issues/85).
- docker_image — предотвращён сбой модуля при удалении образа, который был удалён между проверкой и удалением (https://github.com/ansible-collections/community.docker/pull/87).
- docker_image — предотвращён сбой модуля при удалении несуществующего образа по идентификатору (https://github.com/ansible-collections/community.docker/pull/87).
- docker_image_info — предотвращён сбой модуля, если образ исчезает между перечислением и проверкой (https://github.com/ansible-collections/community.docker/pull/87).
- docker_image_info — предотвращён сбой модуля при запросе несуществующего образа по идентификатору (https://github.com/ansible-collections/community.docker/pull/87).
Новые модули
- community.docker.docker_image_load — загрузка образов Docker из архивов
- community.docker.docker_plugin — управление плагинами Docker
v1.2.2
Краткое описание выпуска
Выпуск с исправлением уязвимости CVE-2021-20191.
Исправления уязвимостей
- docker_swarm — для параметра
signing_ca_keyвключёнno_log, чтобы предотвратить случайное раскрытие данных (CVE-2021-20191, https://github.com/ansible-collections/community.docker/pull/80).
v1.2.1
Краткое описание выпуска
Выпуск с исправлением ошибок.
Исправления ошибок
- плагин подключения docker — исправлен разбор версии Docker: в выводе команды
docker version --format "{{.Server.Version}}"у некоторых версий docker перед версией стоитv(https://github.com/ansible-collections/community.docker/pull/76).
v1.2.0
Краткое описание выпуска
Выпуск с новой функцией и двумя исправлениями ошибок.
Незначительные изменения
- docker_container — добавлен параметр
default_host_ip, позволяющий явно задать строку IP-адреса по умолчанию для опубликованных портов, для которых IP-адрес явно не указан. При использовании привязок IPv6 с Docker 20.10.2 или новее для него необходимо задать пустую строку ("") (https://github.com/ansible-collections/community.docker/issues/70, https://github.com/ansible-collections/community.docker/pull/71).
Исправления ошибок
- docker_container — добавлена поддержка зон IPv6 (RFC 4007) в IP-адресах привязки (https://github.com/ansible-collections/community.docker/pull/66).
- docker_image — исправлен сбой при загрузке образов с версиями Docker SDK for Python ниже 2.5.0 (https://github.com/ansible-collections/community.docker/issues/72, https://github.com/ansible-collections/community.docker/pull/73).
v1.1.0
Краткое описание выпуска
Выпуск с тремя новыми плагинами и модулями.
Незначительные изменения
- docker_container — добавлена поддержка указания
cgroup_parent(https://github.com/ansible-collections/community.docker/issues/6, https://github.com/ansible-collections/community.docker/pull/59). - docker_container — если контейнер запущен с
detached=false, теперь также возвращаетсяstatus, даже если его значение равно 0 (https://github.com/ansible-collections/community.docker/issues/26, https://github.com/ansible-collections/community.docker/pull/58). - docker_image — добавлена поддержка
platformпри сборке образов (https://github.com/ansible-collections/community.docker/issues/22, https://github.com/ansible-collections/community.docker/pull/54).
Устаревшие функции
- docker_container — в настоящее время
published_portsможет содержать сопоставления портов наряду со специальным значениемall; в этом случае сопоставления портов игнорируются. Такое поведение объявлено устаревшим для community.docker 2.0.0; в этой версии оно либо будет запрещено, либо реализовано должным образом, аналогично обработке этой ситуации инструментом Docker CLI (https://github.com/ansible-collections/community.docker/issues/8, https://github.com/ansible-collections/community.docker/pull/60).
Исправления ошибок
- docker_image — если
push=trueиспользуется сrepositoryи образ не нужно помечать тегом, всё равно выполняется отправка. Это может произойти, еслиrepositoryиnameсовпадают (https://github.com/ansible-collections/community.docker/issues/52, https://github.com/ansible-collections/community.docker/pull/53). - docker_image — теперь сообщается об ошибке при загрузке повреждённого архива, не содержащего образов (https://github.com/ansible-collections/community.docker/issues/46, https://github.com/ansible-collections/community.docker/pull/55).
- docker_image — теперь сообщается об ошибке, если загруженный архив не содержит указанный образ (https://github.com/ansible-collections/community.docker/issues/41, https://github.com/ansible-collections/community.docker/pull/55).
Новые плагины
Подключение
- community.docker.docker_api — выполнение задач в контейнерах Docker
Инвентаризация
- community.docker.docker_containers — плагин динамической инвентаризации Ansible для контейнеров Docker.
Новые модули
- community.docker.current_container_facts — возвращает факты о том, выполняется ли модуль в контейнере Docker
v1.0.1
Краткое описание выпуска
Выпуск с исправлением ошибки в docker_container.
Исправления ошибок
- docker_container — проверка
capabilitiesвdevice_requestsбыла некорректной (https://github.com/ansible-collections/community.docker/issues/42, https://github.com/ansible-collections/community.docker/pull/43).
v1.0.0
Краткое описание выпуска
Это первый выпуск community.docker для промышленного использования (не предварительный).
Незначительные изменения
- Добавлена поддержка на уровне коллекции для группы действий / группы значений по умолчанию модулей
docker(https://github.com/ansible-collections/community.docker/pull/17). - docker_image — теперь возвращает вывод сборки Docker (https://github.com/ansible-collections/community.general/pull/805).
- docker_secret — добавлено предупреждение, если у секрета нет метки
ansible_key, а параметрforceне задан (https://github.com/ansible-collections/community.docker/issues/30, https://github.com/ansible-collections/community.docker/pull/31).
v0.1.0
Краткое описание выпуска
community.docker продолжает работу над модулями и плагинами Ansible для Docker с того состояния, в котором они находились в community.general 1.2.0. Поэтому перечисленные здесь изменения относятся к модулям и плагинам community.general.docker*.
Все запланированные удаления устаревших функций для community.general 2.0.0 выполнены. Все удаления устаревших функций, запланированные для community.general 3.0.0, перенесены на community.docker 2.0.0.
Незначительные изменения
- docker_container — теперь поддерживает параметр
device_requests, позволяющий запрашивать дополнительные ресурсы, например графические процессоры (https://github.com/ansible/ansible/issues/65748, https://github.com/ansible-collections/community.general/pull/1119).
Удалённые функции (ранее объявленные устаревшими)
- docker_container — больше не возвращает
ansible_facts(https://github.com/ansible-collections/community.docker/pull/1). - docker_container — значение параметра
networks_cli_compatibleпо умолчанию изменено наtrue(https://github.com/ansible-collections/community.docker/pull/1). - docker_container — неиспользуемый параметр
trust_image_contentудалён (https://github.com/ansible-collections/community.docker/pull/1). - docker_image — параметр
state=buildудалён. Вместо него используйтеpresent(https://github.com/ansible-collections/community.docker/pull/1). - docker_image — параметры
container_limits,dockerfile,http_timeout,nocache,rm,path,buildargs,pullудалены. Вместо них используйте соответствующие вложенные параметрыbuild(https://github.com/ansible-collections/community.docker/pull/1). - docker_image — параметр
forceудалён. Вместо него используйте более конкретные параметрыforce_*(https://github.com/ansible-collections/community.docker/pull/1). - docker_image — параметр
sourceтеперь обязателен (https://github.com/ansible-collections/community.docker/pull/1). - docker_image — параметр
use_tlsудалён. Вместо него используйтеtlsиvalidate_certs(https://github.com/ansible-collections/community.docker/pull/1). - docker_image — значение параметра
build.pullпо умолчанию изменено наfalse(https://github.com/ansible-collections/community.docker/pull/1). - docker_image_facts — этот псевдоним больше недоступен; вместо него используйте
docker_image_info(https://github.com/ansible-collections/community.docker/pull/1). - docker_network — больше не возвращает
ansible_facts(https://github.com/ansible-collections/community.docker/pull/1). - docker_network — параметр
ipam_optionsудалён. Вместо него используйтеipam_config(https://github.com/ansible-collections/community.docker/pull/1). - docker_service — больше не возвращает
ansible_facts(https://github.com/ansible-collections/community.docker/pull/1). - docker_swarm — параметр
state=inspectудалён. Вместо него используйтеdocker_swarm_info(https://github.com/ansible-collections/community.docker/pull/1). - docker_swarm_service — параметр
constraintsудалён. Вместо него используйтеplacement.constraints(https://github.com/ansible-collections/community.docker/pull/1). - docker_swarm_service — параметры
limit_cpuиlimit_memoryудалены. Вместо них используйте соответствующие вложенные параметры вlimits(https://github.com/ansible-collections/community.docker/pull/1). - docker_swarm_service — параметры
log_driverиlog_driver_optionsудалены. Вместо них используйте соответствующие вложенные параметры вlogging(https://github.com/ansible-collections/community.docker/pull/1). - docker_swarm_service — параметры
reserve_cpuиreserve_memoryудалены. Вместо них используйте соответствующие вложенные параметры вreservations(https://github.com/ansible-collections/community.docker/pull/1). - docker_swarm_service — параметры
restart_policy,restart_policy_attempts,restart_policy_delayиrestart_policy_windowудалены. Вместо них используйте соответствующие вложенные параметры вrestart_config(https://github.com/ansible-collections/community.docker/pull/1). - docker_swarm_service — параметры
update_delay,update_parallelism,update_failure_action,update_monitor,update_max_failure_ratioиupdate_orderудалены. Вместо них используйте соответствующие вложенные параметры вupdate_config(https://github.com/ansible-collections/community.docker/pull/1). - docker_volume — больше не возвращает
ansible_facts(https://github.com/ansible-collections/community.docker/pull/1). - docker_volume — параметр
forceудалён. Вместо него используйтеrecreate(https://github.com/ansible-collections/community.docker/pull/1).
Исправления ошибок
- docker_login — исправлено хранение внутреннего файла конфигурации для обработки учётных данных нескольких реестров (https://github.com/ansible-collections/community.general/issues/1117).
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/docker/changelog.html