community.docker.docker_swarm_service_info 模块 – 从 Swarm 管理器检索有关 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 管理器运行的主机上执行,否则模块将失败。 
要求
执行此模块的主机需要满足以下要求。
- Docker API >= 1.25 
- Python 的 Docker SDK:请注意,docker-py Python 模块已被 docker 取代(有关详细信息,请参见 此处)。请注意,这两个模块*不应*同时安装。另请注意,当两个模块都安装并且卸载其中一个模块时,另一个模块可能不再起作用,并且需要重新安装它。 
- Python 的 Docker SDK >= 2.0.0 
参数
| 参数 | 注释 | 
|---|---|
| 在 Docker 主机上运行的 Docker API 的版本。 默认为 Python 的 Docker SDK 和 Docker 守护程序支持的最新版本的 API。 如果未在任务中指定值,则将改用环境变量  默认值:  | |
| 当执行服务器验证时,通过提供 CA 证书文件的路径来使用 CA 证书。 如果未在任务中指定值,并且设置了环境变量  此选项曾被称为  | |
| 客户端的 TLS 证书文件的路径。 如果未在任务中指定值,并且设置了环境变量  | |
| 客户端的 TLS 密钥文件的路径。 如果未在任务中指定值,并且设置了环境变量  | |
| 调试模式 选择 
 | |
| 用于连接 Docker API 的 URL 或 Unix 套接字路径。要连接到远程主机,请提供 TCP 连接字符串。例如, 如果任务中未指定该值,则将使用环境变量  默认值:  | |
| 要检查的服务名称。 | |
| 通过使用 TLS 连接到 API,但不验证 Docker 主机服务器的真实性。请注意,如果  如果任务中未指定该值,则将使用环境变量  选择 
 | |
| 在验证 Docker 主机服务器的真实性时,请提供服务器的预期名称。 如果任务中未指定该值,则将使用环境变量  请注意,此选项在旧版本中具有默认值  注意: 对于 Python 7.0.0+ 的 Docker SDK,不再支持此选项。使用 Python 7.0.0 或更高版本的 Docker SDK 指定它将导致错误。 | |
| 对于 SSH 传输,请使用  需要 Python 4.4.0 或更高版本的 Docker SDK。 选择 
 | |
| 通过使用 TLS 并验证 Docker 主机服务器的真实性来保护与 API 的连接。 如果任务中未指定该值,则将使用环境变量  选择 
 | 
属性
| 属性 | 支持 | 描述 | 
|---|---|---|
| 操作组: community.docker.docker, docker | 在  | |
| 支持: 完整 此操作不会修改状态。 | 可以在  | |
| 支持: N/A 此操作不会修改状态。 | 在 diff 模式下,将返回有关已更改(或可能需要在  | 
注意事项
注意
- 通过为每个任务提供参数或定义环境变量来连接到 Docker 守护程序。您可以定义 - DOCKER_HOST、- DOCKER_TLS_HOSTNAME、- DOCKER_API_VERSION、- DOCKER_CERT_PATH、- DOCKER_TLS、- DOCKER_TLS_VERIFY和- DOCKER_TIMEOUT。如果您正在使用 docker machine,请运行该产品附带的脚本来设置环境。它将为您设置这些变量。有关更多详细信息,请参阅 https://docs.dockerd.com.cn/machine/reference/env/。
- 使用 TLS 连接到 Docker 守护程序时,您可能需要安装其他 Python 包。对于 Python 的 Docker SDK 2.4 或更高版本,可以通过使用 ansible.builtin.pip 安装 - docker[tls]来完成此操作。
- 请注意,Python 的 Docker SDK 只允许为极少数函数指定 Docker 配置的路径。通常,如果未指定 - DOCKER_CONFIG环境变量,它将使用- $HOME/.docker/config.json,否则将使用- $DOCKER_CONFIG/config.json。
- 此模块使用 Python 的 Docker SDK 与 Docker 守护程序进行通信。 
示例
- name: Get info from a service
  community.docker.docker_swarm_service_info:
    name: myservice
  register: result
返回值
常见的返回值记录在此处,以下是此模块特有的字段
| 键 | 描述 | 
|---|---|
| 返回服务是否存在。 返回: 始终 示例:  | |
| 表示服务当前状态的字典。与  如果服务不存在,则为  返回: 始终 | 
