Work around Docker 29.0.0 bug. (#1187) (#1190)

(cherry picked from commit ec14568b22)
This commit is contained in:
Felix Fontein 2025-11-12 19:37:30 +01:00 committed by GitHub
parent 24b8b82545
commit c3eaabc148
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 5 additions and 2 deletions

View File

@ -0,0 +1,2 @@
bugfixes:
- "Docker CLI based modules - work around bug in Docker 29.0.0 that caused a breaking change in ``docker version --format json`` output (https://github.com/ansible-collections/community.docker/issues/1185, https://github.com/ansible-collections/community.docker/pull/1187)."

View File

@ -86,9 +86,10 @@ class AnsibleDockerClientBase(object):
self._info = None
if needs_api_version:
if not isinstance(self._version.get('Server'), dict) or not isinstance(self._version['Server'].get('ApiVersion'), string_types):
api_version_string = self._version["Server"].get("ApiVersion") or self._version["Server"].get("APIVersion")
if not isinstance(self._version.get('Server'), dict) or not isinstance(api_version_string, string_types):
self.fail('Cannot determine Docker Daemon information. Are you maybe using podman instead of docker?')
self.docker_api_version_str = to_native(self._version['Server']['ApiVersion'])
self.docker_api_version_str = to_native(api_version_string)
self.docker_api_version = LooseVersion(self.docker_api_version_str)
min_docker_api_version = min_docker_api_version or '1.25'
if self.docker_api_version < LooseVersion(min_docker_api_version):