community.docker.docker_plugin 模块 – 管理 Docker 插件

注意

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

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

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

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

community.docker 1.3.0 中的新增功能

概要

  • 此模块允许安装、删除、启用和禁用 Docker 插件。

  • 执行的功能与 docker plugin CLI 子命令的功能基本相同。

要求

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

  • Docker API >= 1.25

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

  • paramiko(在使用 SSH 时,use_ssh_client=false

  • pyOpenSSL(使用 TLS 时)

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

  • requests

参数

参数

注释

别名

字符串

community.docker 1.8.0 中添加

插件的本地名称。

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 文件。

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"

enable_timeout

整数

超时时间(秒)。

默认值: 0

force_remove

布尔值

即使插件已启用,也将其移除。

选项

  • false ← (默认)

  • true

plugin_name

字符串 / 必填

要操作的插件名称。

plugin_options

字典

插件设置字典。

默认值: {}

state

字符串

absent 移除插件。

present 安装插件(如果它不存在)。

enable 启用插件。

disable 禁用插件。

选项

  • "absent"

  • "present" ← (默认)

  • "enable"

  • "disable"

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

use_ssh_client

布尔值

在community.docker 1.5.0中添加

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

选项

  • false ← (默认)

  • true

validate_certs

别名:tls_verify

布尔值

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

如果任务中未指定值,则将使用环境变量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: Install a plugin
  community.docker.docker_plugin:
    plugin_name: plugin_one
    state: present

- name: Remove a plugin
  community.docker.docker_plugin:
    plugin_name: plugin_one
    state: absent

- name: Enable the plugin
  community.docker.docker_plugin:
    plugin_name: plugin_one
    state: enable

- name: Disable the plugin
  community.docker.docker_plugin:
    plugin_name: plugin_one
    state: disable

- name: Install a plugin with options
  community.docker.docker_plugin:
    plugin_name: weaveworks/net-plugin:latest_release
    plugin_options:
      IPALLOC_RANGE: "10.32.0.0/12"
      WEAVE_PASSWORD: "PASSWORD"

返回值

公共返回值已记录此处,以下是此模块独有的字段

描述

actions

列表 / 元素=字符串

任务执行期间执行的操作列表。

返回:state不是absent

plugin

字典

受影响插件的插件检查结果。

返回:成功

示例: {}

作者

  • Sakar Mehra (@sakar97)

  • Vladimir Porshkevich (@porshkevich)