community.docker.docker_network_info 模块 – 获取 Docker 网络信息

注意

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

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

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

要在剧本中使用它,请指定:community.docker.docker_network_info

概要

  • 获取有关 Docker 网络的信息。

  • 基本上返回 docker network inspect <name> 的输出,类似于 community.docker.docker_network 对非缺失网络返回的内容。

需求

执行此模块的主机需要以下需求。

  • Docker API >= 1.25

  • backports.ssl_match_hostname (在 Python 2 上使用 TLS 时)

  • paramiko (当使用 SSH 且 use_ssh_client=false 时)

  • pyOpenSSL (当使用 TLS 时)

  • pywin32 (在 Windows 32 上使用命名管道时)

  • requests

参数

参数

注释

api_version

别名:docker_api_version

字符串

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

默认为此集合和 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文件。

调试

布尔值

调试模式

选项

  • 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"

名称

字符串 / 必需

要检查的网络的名称。

识别现有网络时,名称可以是名称、长网络 ID 或短网络 ID。

超时

整数

等待 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 中已移除。

use_ssh_client

布尔值

在 community.docker 1.5.0 中添加

对于 SSH 传输,请使用ssh CLI 工具而不是 paramiko。

选项

  • 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

支持: N/A

此操作不会修改状态。

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

备注

注意

示例

- name: Get infos on network
  community.docker.docker_network_info:
    name: mydata
  register: result

- name: Does network exist?
  ansible.builtin.debug:
    msg: "The network {{ 'exists' if result.exists else 'does not exist' }}"

- name: Print information about network
  ansible.builtin.debug:
    var: result.network
  when: result.exists

返回值

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

描述

exists

布尔值

返回网络是否存在。

返回:始终

示例: true

network

字典

表示网络当前状态的事实。匹配 docker 检查输出。

如果网络不存在,则为none

返回:始终

示例: {"Attachable": false, "ConfigFrom": {"Network": ""}, "ConfigOnly": false, "Containers": {}, "Created": "2018-12-07T01:47:51.250835114-06:00", "Driver": "bridge", "EnableIPv6": false, "IPAM": {"Config": [{"Gateway": "192.168.96.1", "Subnet": "192.168.96.0/20"}], "Driver": "default", "Options": null}, "Id": "0856968545f22026c41c2c7c3d448319d3b4a6a03a40b148b3ac4031696d1c0a", "Ingress": false, "Internal": false, "Labels": {}, "Name": "ansible-test-f2700bba", "Options": {}, "Scope": "local"}

作者

  • Dave Bendit (@DBendit)