community.docker.docker_swarm_service_info 模块 – 从 Swarm Manager 中检索有关 docker 服务的信息

注意

此模块是 community.docker 集合(版本 4.1.0)的一部分。

如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.docker。您需要其他要求才能使用此模块,有关详细信息,请参见 要求

要在 playbook 中使用它,请指定:community.docker.docker_swarm_service_info

概要

  • 检索有关 docker 服务的信息。

  • 本质上返回 docker service inspect <name> 的输出。

  • 必须在作为 Swarm Manager 运行的主机上执行,否则模块将失败。

要求

以下要求在执行此模块的主机上是必需的。

  • Docker API >= 1.25

  • 用于 Python 的 Docker SDK:请注意,docker-py Python 模块已被 docker 取代(有关详细信息,请参阅 此处)。请注意,这两个模块不应*同时*安装。另请注意,当同时安装这两个模块并且卸载其中一个模块时,另一个模块可能不再起作用,并且需要重新安装它。

  • 用于 Python 的 Docker SDK >= 2.0.0

参数

参数

注释

api_version

别名:docker_api_version

字符串

在 Docker 主机上运行的 Docker API 的版本。

默认为 Python 的 Docker SDK 和 docker 守护程序支持的最新版本的 API。

如果任务中未指定该值,则将改用环境变量 DOCKER_API_VERSION 的值。如果未设置环境变量,则将使用默认值。

默认值: "auto"

ca_path

别名:ca_cert, tls_ca_cert, cacert_path

路径

通过提供 CA 证书文件的路径,在执行服务器验证时使用 CA 证书。

如果任务中未指定该值并且设置了环境变量 DOCKER_CERT_PATH,则将使用环境变量 DOCKER_CERT_PATH 中指定的目录中的文件 ca.pem

此选项名为 ca_cert,并在 community.docker 3.6.0 中重命名为 ca_path。旧名称已添加为别名,仍可使用。

client_cert

别名:tls_client_cert, cert_path

路径

客户端 TLS 证书文件的路径。

如果任务中未指定该值并且设置了环境变量 DOCKER_CERT_PATH,则将使用环境变量 DOCKER_CERT_PATH 中指定的目录中的文件 cert.pem

client_key

别名:tls_client_key, key_path

路径

客户端 TLS 密钥文件的路径。

如果任务中未指定该值并且设置了环境变量 DOCKER_CERT_PATH,则将使用环境变量 DOCKER_CERT_PATH 中指定的目录中的文件 key.pem

debug

布尔值

调试模式

选项

  • false ←(默认)

  • true

docker_host

别名:docker_url

字符串

用于连接到 Docker API 的 URL 或 Unix 套接字路径。要连接到远程主机,请提供 TCP 连接字符串。例如,tcp://192.0.2.23:2376。如果使用 TLS 加密连接,则模块会自动将连接 URL 中的 tcp 替换为 https

如果任务中未指定该值,则将改用环境变量 DOCKER_HOST 的值。如果未设置环境变量,则将使用默认值。

默认值: "unix:///var/run/docker.sock"

名称

字符串 / 必需

要检查的服务的名称。

timeout

整数

等待 API 响应的最大时间(秒)。

如果任务中未指定该值,则将使用环境变量 DOCKER_TIMEOUT 的值。如果未设置环境变量,则将使用默认值。

默认值: 60

tls

布尔值

通过使用 TLS 加密与 API 的连接,但不验证 Docker 主机服务器的真实性。请注意,如果 validate_certs 也设置为 true,则它将优先。

如果任务中未指定该值,则将使用环境变量 DOCKER_TLS 的值。如果未设置环境变量,则将使用默认值。

选项

  • false ←(默认)

  • true

tls_hostname

字符串

在验证 Docker 主机服务器的真实性时,提供服务器的预期名称。

如果任务中未指定该值,则将使用环境变量 DOCKER_TLS_HOSTNAME 的值。如果未设置环境变量,则将使用默认值。

请注意,此选项在旧版本中的默认值为 localhost。它在 community.docker 3.0.0 中被移除。

注意: 对于 Docker SDK for Python 7.0.0+,此选项不再支持。使用 Docker SDK for Python 7.0.0 或更高版本指定它将导致错误。

use_ssh_client

布尔值

在 community.docker 1.5.0 中添加

对于 SSH 传输,使用 ssh 命令行工具而不是 paramiko。

需要 Docker SDK for Python 4.4.0 或更高版本。

选项

  • false ←(默认)

  • true

validate_certs

别名:tls_verify

布尔值

通过使用 TLS 并验证 Docker 主机服务器的真实性来保护与 API 的连接。

如果任务中未指定该值,则将使用环境变量 DOCKER_TLS_VERIFY 的值。如果未设置环境变量,则将使用默认值。

选项

  • false ←(默认)

  • true

属性

属性

支持

描述

action_group

操作组: community.docker.docker, docker

module_defaults 中使用 group/dockergroup/community.docker.docker 来为此模块设置默认值。

check_mode

支持: 完全

此操作不会修改状态。

可以在 check_mode 中运行,并返回更改的状态预测,而无需修改目标。

diff_mode

支持: 不适用

此操作不会修改状态。

在差异模式下,将返回有关已更改的内容(或可能需要在 check_mode 中更改的内容)的详细信息。

备注

注意

示例

- name: Get info from a service
  community.docker.docker_swarm_service_info:
    name: myservice
  register: result

返回值

常见的返回值记录在此处,以下是此模块独有的字段

描述

exists

布尔值

返回服务是否存在。

返回: 总是

示例: true

service

字典

一个表示服务当前状态的字典。与 docker service inspect 输出匹配。

如果服务不存在,则为 none

返回: 总是

作者

  • Hannes Ljungberg (@hannseman)