Community.Docker 发布说明
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 - 确保在将
labels
发送到 Docker Daemon 之前对其进行清理(https://github.com/ansible-collections/community.docker/pull/985)。docker_config - 确保在将
labels
发送到 Docker Daemon 之前对其进行清理(https://github.com/ansible-collections/community.docker/pull/985)。docker_network - 确保在将
labels
发送到 Docker Daemon 之前对其进行清理(https://github.com/ansible-collections/community.docker/pull/985)。docker_node - 确保在将
labels
发送到 Docker Daemon 之前对其进行清理(https://github.com/ansible-collections/community.docker/pull/985)。docker_secret - 确保在将
labels
发送到 Docker Daemon 之前对其进行清理(https://github.com/ansible-collections/community.docker/pull/985)。docker_swarm - 确保在将
labels
发送到 Docker Daemon 之前对其进行清理(https://github.com/ansible-collections/community.docker/pull/985)。docker_swarm_service - 确保在将
labels
和container_labels
发送到 Docker Daemon 之前对其进行清理(https://github.com/ansible-collections/community.docker/pull/985)。docker_volume - 确保在将
labels
发送到 Docker Daemon 之前对其进行清理(https://github.com/ansible-collections/community.docker/pull/985)。
v4.0.0
发布摘要
包含已删除的已弃用功能的主要版本。
次要更改
docker_compose_v2 - 为
docker compose up
添加renew_anon_volumes
参数(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。您需要 ansible-core 2.15.0 或更高版本才能使用 community.docker 4.x.y(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
选项已移除。请在comparisons
中使用image: ignore
代替 (https://github.com/ansible-collections/community.docker/pull/971)。docker_container -
purge_networks
选项已移除。请在comparisons
中使用networks: strict
代替,并确保已指定networks
(https://github.com/ansible-collections/community.docker/pull/971)。各种模块和插件 - 移除
ssl_version
选项 (https://github.com/ansible-collections/community.docker/pull/971)。
v3.13.1
发布摘要
错误修复发布。
Bugfixes
docker_compose_v2 - 改进了从 JSON 事件解析 dry-run 镜像构建操作 (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
发布摘要
错误修复发布。
Bugfixes
docker_prune - 修复了 filter 选项列表的处理 (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* 模块 - 支持 Docker Compose 2.29.0 的
json
进度写入器,以避免解析文本输出 (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 - 在创建容器时,直接将所有要连接的网络传递给 API 版本为 1.44 或更高版本的 Docker 守护进程。这使得创建更有效率,并解决了 Docker 守护进程至少在某些情况下不使用指定的 MAC 地址的错误,尽管仅限于创建时 (https://github.com/ansible-collections/community.docker/pull/933)。
Bugfixes
docker_compose_v2 - 处理来自 2.29.0 之前版本的 Compose 的另一个随机非结构化错误输出 (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
输出中缺少必需字段时,提供更好的错误消息。如果使用 Podman 而不是 Docker,可能会发生这种情况 (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 - 修复了
type=docker
和type=image
的--output
参数组合 (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)。
Bugfixes
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 CLI 工具,除非还提供了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)。供应商提供的 Python Docker SDK - 使用
LooseVersion
而不是StrictVersion
来比较 urllib3 版本。这对于开发版本是必需的 (https://github.com/ansible-collections/community.docker/pull/902)。
v3.10.4
发布摘要
错误修复发布。
Bug修复
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
发布摘要
错误修复发布。
Bug修复
docker 和 nsenter 连接插件,docker_container_exec 模块 - 避免在 Python 3 中使用已弃用的
ansible.module_utils.compat.selectors
模块工具 (https://github.com/ansible-collections/community.docker/issues/870, https://github.com/ansible-collections/community.docker/pull/871)。
v3.10.2
发布摘要
错误修复发布。
Bug修复
为 Python 打包的 Docker SDK - 包含 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 兼容性的热修复版本。
Bug修复
为 Python 打包的 Docker SDK - 包含针对 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)。
已知问题
请注意,community.docker 3.10.1 中包含的针对 requests 2.32.0 的修复仅修复了*打包的* Docker SDK for Python 代码的问题。由于 SDK 当前与 requests 2.32.0 不兼容,因此使用 Docker SDK for Python 的模块和插件仍然可能会失败。
如果您仍然遇到 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
以支持 swarm 服务上的 sysctl 设置 (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,因为当使用
definition
选项时,docker_compose_v2*
模块依赖于它。这不应该对生成的 EE 产生明显的影响,因为 ansible-core 本身也依赖于 PyYAML,并且 ansible-builder 明确忽略了此依赖 (https://github.com/ansible-collections/community.docker/pull/832)。docker_compose_v2* - 新选项
check_files_existing
允许在project_src
中禁用对文件compose.yaml
,compose.yml
,docker-compose.yaml
和docker-compose.yml
之一的检查(如果未指定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 内容的内联定义,而不必提供包含写入其中的 compose 文件的
project_src
目录 (https://github.com/ansible-collections/community.docker/issues/829, https://github.com/ansible-collections/community.docker/pull/832)。为 Python 打包的 Docker SDK - 删除依赖于 Python 3.12 中已弃用功能的不使用的代码 (https://github.com/ansible-collections/community.docker/pull/834)。
Bug修复
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* 模块 - 当 Docker Compose CLI 插件版本为
dev
时,中止并显示不错的错误消息,而不是崩溃 (https://github.com/ansible-collections/community.docker/issues/825, https://github.com/ansible-collections/community.docker/pull/826)。清单插件 - 添加不安全包装器,以避免将不包含
{
或}
的字符串标记为不安全,以解决 AWX 中的错误 (https://github.com/ansible-collections/community.docker/pull/835)。
v3.8.1
发布摘要
Bug修复版本
安全修复
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)。
Bug修复
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* 模块 - 正确解析 Docker Compose 发出的
Warning
事件(https://github.com/ansible-collections/community.docker/issues/807, https://github.com/ansible-collections/community.docker/pull/811)。docker_compose_v2* 模块 - 解析 Docker Compose 发出的
logfmt
警告(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 - 允许在使用新的
wait
选项运行docker compose up
时等待容器运行/健康(https://github.com/ansible-collections/community.docker/issues/794, https://github.com/ansible-collections/community.docker/pull/796)。docker_container - 当
pull=always
时,pull_check_mode_behavior
选项现在允许控制模块在检查模式下的行为(https://github.com/ansible-collections/community.docker/issues/792, https://github.com/ansible-collections/community.docker/pull/797)。docker_container - 除了先前有效的值
true
(等同于always
) 和false
(等同于missing_image
) 之外,pull
选项现在接受三个值never
、missing_image
(默认) 和never
。这允许等同于 Docker 命令行中的--pull=never
(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 - 不将服务级别的拉取事件视为更改,以避免
pull=always
的错误changed=true
返回值(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
中的 dry-run 构建事件(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
模块中移出。这些新模块更易于使用,并且可以更好地声明它们是否支持检查模式、差异模式或两者都不支持。
此版本还具有支持 Docker CLI 插件 buildx
和 compose
的模块。 docker_image_build
模块在底层使用 docker buildx
命令,而 docker_compose_v2
和 docker_compose_v2_pull
模块使用 docker compose
命令。所有这些模块都使用 Docker CLI 而不是直接与 API 通信。这些模块大多支持与基于 API 的模块相同的接口,因此主要区别在于它们依赖于 Docker CLI 工具 docker
,而不是一些 Python 要求。
主要变更
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*
模块现在使用为docker_image_build
和docker_compose_v2
模块添加的通用基于 CLI 的模块代码。这意味着这些模块现在在与 Docker 守护进程通信方面具有更多配置选项,并且现在也是community.docker.docker
和docker
模块默认组的一部分(https://github.com/ansible-collections/community.docker/pull/745)。docker_container - 为 Docker API 1.44+ 添加
networks[].mac_address
选项。请注意,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 - 允许以字节以外的单位指定内存大小和交换内存大小 (https://github.com/ansible-collections/community.docker/pull/727)。
inventory 插件 - 添加
filter
选项,允许基于 Jinja2 条件包含和排除主机 (https://github.com/ansible-collections/community.docker/pull/698, https://github.com/ansible-collections/community.docker/issues/610)。
Bugfixes
使用
unix:///var/run/docker.sock
而不是旧的unix://var/run/docker.sock
作为docker_host
的默认值 (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 Compose CLI 插件管理多容器 Docker 应用程序
community.docker.docker_compose_v2_pull - 拉取 Docker Compose 项目
community.docker.docker_image_build - 使用 Docker buildx 构建 Docker 镜像
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 -
image_name_mismatch
参数的默认ignore
已被弃用,将在 community.docker 4.0.0 中切换为recreate
。在默认值被使用且行为会随着默认值的更改而改变的情况下,将会打印弃用警告 (https://github.com/ansible-collections/community.docker/pull/703)。
Bugfixes
使用 Docker SDK for Python 的模块和插件 - 从传递给 Docker SDK for Python 7.0.0+ 的参数中删除
ssl_version
。如果在此情况下显式设置了该参数,则会明确失败并显示更友好的错误消息 (https://github.com/ansible-collections/community.docker/pull/715)。使用 Docker SDK for Python 的模块和插件 - 从传递给 Docker SDK for Python 7.0.0+ 的参数中删除
tls_hostname
。如果在此情况下显式设置了该参数,则会明确失败并显示更友好的错误消息 (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
发布摘要
错误修复发布。
Bugfixes
docker_volume - 修复了访问空字典导致的崩溃。
has_different_config()
引发AttributeError
,因为self.existing_volume["Labels"]
字典是None
(https://github.com/ansible-collections/community.docker/pull/702)。
v3.4.10
发布摘要
错误修复发布。
Bugfixes
docker_swarm - 使 init 和 join 操作再次与 4.0.0 之前的 Docker SDK for Python 一起工作 (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 代码。
Bugfixes
供应商提供的 Docker SDK for Python 代码 - 从 Docker SDK for Python 代码中挑选更改以对齐代码。这些更改不应影响集合代码使用的部分 (https://github.com/ansible-collections/community.docker/pull/694)。
v3.4.8
发布摘要
维护版本,包含更新的文档。
从这个版本开始,community.docker 在其文档中使用新的 Ansible 语义标记。 如果您使用 2.15 之前的 ansible-core 中的 ansible-doc CLI 工具查看文档,请注意它不会正确渲染标记。您应该仍然可以在大多数情况下阅读它,但是您需要 ansible-core 2.15 或更高版本才能看到它的预期效果。或者,您可以查看 开发文档站点 以获取最新发布的文档的渲染 HTML 版本。
已知问题
对于 2.15 之前的 ansible-core,Ansible 标记将在 ansible-doc 文本输出中以原始形式显示。如果您在解读文档标记时遇到问题,请升级到 ansible-core 2.15(或更新版本),或者阅读 https://docs.ansible.org.cn/ansible/devel/collections/community/docker/ 上的 HTML 文档。
v3.4.7
发布摘要
错误修复发布。
Bugfixes
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
发布摘要
Bugfix 版本,其中包含关于使用 TCP TLS 连接到 Docker 守护进程时使用某些功能的文档警告。
Bugfixes
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 代码 - 除了 Windows 之外,使用
poll()
而不是select()
(https://github.com/ansible-collections/community.docker/pull/619)。
已知问题
docker_api 连接插件 - 不适用于 TCP TLS 套接字! 这是由于无法在不使用 Python 的
SSLSocket
关闭连接的情况下发送close_notify
TLS 警报导致的 (https://github.com/ansible-collections/community.docker/issues/605, https://github.com/ansible-collections/community.docker/pull/621)。docker_container_exec - 当使用
stdin
选项时,不适用于 TCP TLS 套接字! 这是由于无法在不使用 Python 的SSLSocket
关闭连接的情况下发送close_notify
TLS 警报导致的 (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 的兼容性。
Bugfixes
使 vendored 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 中的 vendored 代码完全调整为与 requests 2.29.0 以来使用的 urllib3 功能一起工作之前,这是必要的 (https://github.com/ansible-collections/community.docker/issues/611, https://github.com/ansible-collections/community.docker/pull/612)。
已知问题
当前使用 Docker SDK for Python 中的 vendored 代码的模块和插件不适用于 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
发布摘要
错误修复发布。
Bugfixes
docker_prune - 返回
changed
的正确值。到目前为止,该模块始终声明没有任何更改 (https://github.com/ansible-collections/community.docker/pull/593)。
v3.4.1
发布摘要
常规错误修复版本。
Bugfixes
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)。
Bugfixes
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
发布摘要
错误修复发布。
Bugfixes
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
发布摘要
错误修复发布。
Bugfixes
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
时,根据镜像 ID(哈希)检测是否需要更改。如果现有的 tar 存档与源匹配,则不执行任何操作。以前,每次任务执行都会重新创建存档 (https://github.com/ansible-collections/community.docker/pull/500)。
Bugfixes
docker_container_exec - 修复自 community.docker 3.0.0 以来被忽略的
chdir
选项 (https://github.com/ansible-collections/community.docker/issues/517, https://github.com/ansible-collections/community.docker/pull/518)。vendored 最新 Docker SDK for Python 错误修复 (https://github.com/ansible-collections/community.docker/pull/513, https://github.com/docker/docker-py/issues/3045)。
v3.2.2
发布摘要
错误修复发布。
Bugfixes
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 中移除。请在comparisons
中使用image: ignore
代替(https://github.com/ansible-collections/community.docker/pull/487)。docker_container -
purge_networks
选项已弃用,将在 community.docker 4.0.0 中移除。请在comparisons
中使用networks: strict
代替,并确保提供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 - 允许在初始化 swarm 时使用
data_path_port
参数(https://github.com/ansible-collections/community.docker/issues/296)。
v3.0.2
发布摘要
错误修复发布。
错误修复
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,对 Python < 3.12 使用distutils.version
。不支持 Python 3.12+ 的 ansible-core 2.11 (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 守护进程通信的模块和插件 - 改进了 Python 3.6 及更高版本默认 TLS 版本选择。这仅相对于较旧的 community.docker 3.0.0 预发布版本或 Python 的 Docker SDK < 6.0.0 而言是一个更改。Python 的 Docker SDK 6.0.0 也将包含此更改 (https://github.com/ansible-collections/community.docker/pull/434)。
直接与 Docker 守护进程通信的模块和插件 - 简化了在 Python 的 Docker SDK 中已删除的用于查找可执行文件的辅助函数的使用 (https://github.com/ansible-collections/community.docker/pull/438)。
socker_handler 和 socket_helper 模块实用程序 - 改进了 Python 向前兼容性,为文件阻塞/解除阻塞创建了辅助函数 (https://github.com/ansible-collections/community.docker/pull/415)。
重大更改/移植指南
此集合在 Python 3.12+ 上不适用于 ansible-core 2.11。请升级到 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_driver
时,不能再指定log_options
(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_policy
时,不能再指定restart_retries
(https://github.com/ansible-collections/community.docker/pull/422)。docker_container - 如果在
comparisons
中被告知不要忽略,则stop_timeout
不再因幂等性而被忽略。到目前为止,它默认设置为ignore
,将其设置为strict
无效 (https://github.com/ansible-collections/community.docker/pull/422)。直接与 Docker 守护进程通信的模块和插件 - 当通过 SSH 连接且未使用
use_ssh_client=true
时,拒绝未知的主机密钥,而不是接受它们。这仅相对于较旧的 community.docker 3.0.0 预发布版本或 Python 的 Docker SDK < 6.0.0 而言是一个重大更改。Python 的 Docker SDK 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 -
published_ports
中不再允许使用all
值。请改用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 预发布版本或 Python 的 Docker SDK < 6.0.0 而言是一个更改。Python 的 Docker SDK 6.0.0 也将包含此更改 (https://github.com/ansible-collections/community.docker/pull/434)。
错误修复
docker_image - 在组合构建上下文时,从
.dockerignore
条目中删除尾随空格。这仅相对于较旧的 community.docker 3.0.0 预发布版本或 Python 的 Docker SDK < 6.0.0 而言是一个更改。Python 的 Docker SDK 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 连接创建子 shell。这仅相对于较旧的 community.docker 3.0.0 预发布版本或 Python 的 Docker SDK < 6.0.0 而言是一个更改。Python 的 Docker SDK 6.0.0 也将包含此更改 (https://github.com/ansible-collections/community.docker/pull/434)。直接与 Docker 守护进程通信的模块和插件 - 修复了当未使用
use_ssh_client=true
时 SSH 连接的ProxyCommand
处理。这仅相对于较旧的 community.docker 3.0.0 预发布版本或 Python 的 Docker SDK < 6.0.0 而言是一个更改。Python 的 Docker SDK 6.0.0 也将包含此更改 (https://github.com/ansible-collections/community.docker/pull/434)。直接与 Docker 守护进程通信的模块和插件 - 修复了
docker_host
中带有端口的 IPv6 地址的解析。这仅相对于较旧的 community.docker 3.0.0 预发布版本或 Python 的 Docker SDK < 6.0.0 而言是一个更改。Python 的 Docker SDK 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,其中会包含一些重大更改。
次要变更
将通用的实用程序函数从
common
module_util 移动到一个名为util
的新 module_util。这应该不会有任何用户可见的影响(https://github.com/ansible-collections/community.docker/pull/390)。
已弃用的功能
已弃用对 Docker API 版本 1.20 到 1.24 的支持,并将在 community.docker 3.0.0 中删除。支持 API 版本 1.25 的第一个 Docker 版本是 2017 年 1 月发布的 Docker 1.13。 这会影响模块
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)。
缺陷修复
基于 Python 的 Docker SDK 模块和插件 - 如果 API 版本被指定为一个选项,则使用该选项来验证模块/插件选项的 API 版本要求,而不是 Docker 守护进程支持的最新 API 版本。这也可以避免每个模块/插件进行一次不必要的 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)。
各种模块 - 本应在 community.docker 2.0.0 中删除的
tls_hostname
的默认值现在将在版本 3.0.0 中删除(https://github.com/ansible-collections/community.docker/pull/362)。docker_stack - 本应在 community.docker 2.0.0 中删除的返回值
out
和err
现在将在版本 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
发布摘要
维护版本。
缺陷修复
包含
plugins/module_utils/_version.py
的PSF-license.txt
文件。
v2.5.0
发布摘要
常规功能发布。
次要变更
docker_config - 添加对具有一个选项
golang
的template_driver
的支持(https://github.com/ansible-collections/community.docker/issues/332,https://github.com/ansible-collections/community.docker/pull/345)。docker_swarm - 在 swarm 初始化或加入时添加
data_path_addr
参数(https://github.com/ansible-collections/community.docker/issues/339)。
v2.4.0
发布摘要
常规功能和缺陷修复版本。
次要变更
通过声明其依赖项来准备集合以包含在执行环境中。不支持
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 的
local
日志记录驱动程序时返回 Docker 容器日志输出,这是 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
环境变量,ansible.cfg
文件中docker_connection
部分的timeout
设置,以及ansible_docker_timeout
变量 (https://github.com/ansible-collections/community.docker/pull/297)。docker_api 连接插件 - 通过清除内部容器用户/组 ID 缓存来实现连接重置 (https://github.com/ansible-collections/community.docker/pull/312)。
docker_api 连接插件 - 该插件支持新的超时定义方式。包括
ANSIBLE_DOCKER_TIMEOUT
环境变量,ansible.cfg
文件中docker_connection
部分的timeout
设置,以及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 - 修复从 docker-compose 的输出中提取警告或错误时出现的 Python 3 类型错误 (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
参数设置功能的支持。用法与docker_container
的capabilities
和cap_drop
参数相同 (https://github.com/ansible-collections/community.docker/pull/294)。
错误修复
docker_container, docker_image - 调整镜像查找代码以适应使用 Docker 短名称(如
redis
)时podman-docker
的 API 模拟的特殊性 (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
的供应商版本。这避免了在 Python 3.12 的标准库中删除distutils
时出现故障。请注意,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
替换为 Ansible 的get_bin_path
以查找docker
可执行文件 (https://github.com/ansible-collections/community.docker/pull/257)。docker_container_exec - 不允许在 Docker API 1.35 之前使用
chdir
选项 (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 连接插件 - 确保在
_connect
而不是__init__
中检索nsenter_pid
选项,以防止由于错误的初始化顺序导致崩溃 (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
的默认行为,以便在未指定timeout
时,如果 compose 文件中定义了stop_grace_period
,则会使用该值(https://github.com/ansible-collections/community.docker/pull/163)。
已弃用的功能
docker_container - 在
published_ports
中使用特殊值all
已被弃用。请改用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 - 如果指定了
networks
且networks_cli_compatible=true
,则network_mode
的默认值现在是networks
中指定的第一个网络的名称 (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
版本摘要
常规错误修复版本。
Bug修复
docker_compose - 修复了定义了
profiles
但未启用任何配置的服务的不正确的changed
状态(https://github.com/ansible-collections/community.docker/pull/192)。
v1.9.0
版本摘要
新的 Bug 修复和功能发布。
小的更改
docker_* 模块 - 在报告找不到 Docker Python SDK 时包含
ImportError
回溯信息(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
,该选项允许控制模块在解释列表时如何处理 shell 引号,以及模块如何处理空列表/字符串。默认值将在 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)。
Bug修复
docker_compose - 修复了在使用
docker-compose <1.17.0
时启动服务时发生的任务失败问题(https://github.com/ansible-collections/community.docker/issues/180)。docker_container - 确保在状态代码为非零时,即使
detached=false
也返回container
(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,而改用至少从 Ansible 2.9 开始提供的等效公共 API(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)。
Bug修复
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
版本摘要
小型功能和 Bug 修复版本。
小的更改
docker_image - 允许按 ID 标记镜像(https://github.com/ansible-collections/community.docker/pull/149)。
v1.6.1
版本摘要
Bug 修复版本,以减少弃用警告垃圾邮件。
Bug修复
docker_* 模块和插件,除了
docker_swarm
连接插件以及docker_compose
和docker_stack*` 模块 - 仅当实际使用 TLS
时才发出tls_hostname
弃用消息(https://github.com/ansible-collections/community.docker/pull/143)。
v1.6.0
版本摘要
常规错误修复和功能发布。
小的更改
通用模块工具 - 修正错误信息,以引导安装正确的 Python Docker SDK 模块(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*` 模块 - 当前的 默认 ``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
,则返回的具有相同值的 join token 将被VALUE_SPECIFIED_IN_NO_LOG_PARAMETER
替换。请确保在指定join_token
调用模块时,不要盲目使用此模块返回值中的 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
- 修复由于引用已弃用的选项update_failure_action
而导致的 KeyError 问题(https://github.com/ansible-collections/community.docker/pull/100)。docker_swarm_service - 使用
no_log=False
标记secrets
模块选项,因为它不会泄露秘密(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 - 正确支持加载和标记镜像的镜像 ID(哈希值)(https://github.com/ansible-collections/community.docker/issues/86, https://github.com/ansible-collections/community.docker/pull/87)。
docker_swarm_service - 在复制模式下运行 swarm 服务时,添加对每个节点的最大任务数的支持 (
replicas_max_per_node
)。在 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 - 防止在通过 ID 删除不存在的镜像时模块失败(https://github.com/ansible-collections/community.docker/pull/87)。
docker_image_info - 防止在列表和检查之间镜像消失时模块失败(https://github.com/ansible-collections/community.docker/pull/87)。
docker_image_info - 防止在通过 ID 查询不存在的镜像时模块失败(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 版本的命令
docker version --format "{{.Server.Version}}"
的输出结果中会带有前导v
(https://github.com/ansible-collections/community.docker/pull/76)。
v1.2.0
版本摘要
包含一个新功能和两个错误修复的功能发布版本。
次要变更
docker_container - 添加了
default_host_ip
选项,允许显式设置未明确指定 IP 的已发布端口的默认 IP 字符串。当使用 Docker 20.10.2 或更新版本的 IPv6 绑定时,此项需要设置为一个空字符串 (""
) (https://github.com/ansible-collections/community.docker/issues/70, https://github.com/ansible-collections/community.docker/pull/71)。
错误修复
docker_container - 允许在绑定 IP 中使用 IPv6 区域 (RFC 4007) (https://github.com/ansible-collections/community.docker/pull/66)。
docker_image - 修复了在使用 2.5.0 之前的 Python 版 Docker SDK 加载镜像时发生的崩溃 (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 - 用于 Docker 容器的 Ansible 动态清单插件。
新模块
community.docker.current_container_facts - 返回有关模块是否在 Docker 容器中运行的事实
v1.0.1
版本摘要
包含 docker_container
的错误修复的维护版本。
错误修复
docker_container -
device_requests
中的capabilities
验证不正确 (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 - 当 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
选项,该选项允许请求额外的资源,例如 GPU (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)。
Bugfixes
docker_login - 修复了内部配置文件存储,以处理多个注册表的凭据(https://github.com/ansible-collections/community.general/issues/1117)。