community.docker.docker_node_info 模块 – 从 Swarm Manager 获取 Docker Swarm 节点信息
注意
此模块是 community.docker 集合 (版本 4.1.0) 的一部分。
如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用:ansible-galaxy collection install community.docker。您需要其他要求才能使用此模块,有关详细信息,请参阅 Requirements。
要在剧本中使用它,请指定:community.docker.docker_node_info。
概要
- 检索有关 Docker 节点的信息。 
- 基本上返回 - docker node inspect <name>的输出。
- 必须在作为 Swarm Manager 运行的主机上执行,否则模块将失败。 
需求
执行此模块的主机需要以下要求。
- Docker API >= 1.25 
- Python 的 Docker SDK:请注意,docker-py Python 模块已被 docker 取代(有关详细信息,请参见 此处)。请注意,这两个模块不应同时安装。另请注意,当同时安装这两个模块并卸载其中一个时,另一个模块可能无法再正常工作,需要重新安装。 
- Python 的 Docker SDK >= 2.4.0 
参数
| 参数 | 注释 | 
|---|---|
| Docker 主机上运行的 Docker API 的版本。 默认为 Python 的 Docker SDK 和 docker 守护程序支持的最新 API 版本。 如果任务中未指定此值,则将改用环境变量  默认值:  | |
| 通过提供 CA 证书文件的路径来执行服务器验证时使用 CA 证书。 如果任务中未指定此值并且设置了环境变量  此选项名为  | |
| 客户端 TLS 证书文件的路径。 如果任务中未指定此值并且设置了环境变量  | |
| 客户端TLS密钥文件的路径。 如果任务中未指定此值,并且环境变量 | |
| 调试模式 选项 
 | |
| 用于连接到Docker API的URL或Unix套接字路径。要连接到远程主机,请提供TCP连接字符串。例如, 如果任务中未指定此值,则将使用环境变量 默认值:  | |
| 要检查的节点名称。 要检查的节点名称列表。 如果为空,则返回Swarm集群中所有节点的信息。 标识节点时,可以使用节点的主机名(在Swarm中注册)或节点ID。 如果 | |
| 使用TLS保护与API的连接,无需验证Docker主机服务器的真实性。请注意,如果 如果任务中未指定此值,则将使用环境变量 选项 
 | |
| 验证Docker主机服务器的真实性时,请提供服务器的预期名称。 如果任务中未指定此值,则将使用环境变量 请注意,此选项在较旧的版本中具有默认值 注意:此选项不再支持Python 7.0.0+版本的Docker SDK。使用Python 7.0.0或更高版本的Docker SDK指定它将导致错误。 | |
| 对于SSH传输,请使用 需要Python 4.4.0或更高版本的Docker SDK。 选项 
 | |
| 使用TLS保护与API的连接并验证Docker主机服务器的真实性。 如果任务中未指定此值,则将使用环境变量 选项 
 | 
属性
| 属性 | 支持 | 描述 | 
|---|---|---|
| 操作组: 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 2.4或更高版本的Docker SDK,可以使用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 on all nodes
  community.docker.docker_node_info:
  register: result
- name: Get info on node
  community.docker.docker_node_info:
    name: mynode
  register: result
- name: Get info on list of nodes
  community.docker.docker_node_info:
    name:
      - mynode1
      - mynode2
  register: result
- name: Get info on host if it is Swarm Manager
  community.docker.docker_node_info:
    self: true
  register: result
返回值
常用的返回值已在此处记录此处,以下是此模块特有的字段
| 键 | 描述 | 
|---|---|
