community.docker.docker_stack 模块 – docker stack 模块
注意
此模块是 community.docker 集合 (版本 4.1.0) 的一部分。
如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用:ansible-galaxy collection install community.docker。您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。
要在剧本中使用它,请指定:community.docker.docker_stack。
概要
- 使用目标节点上的 - docker stack命令管理 docker 堆栈(参见示例)。
要求
执行此模块的主机需要以下要求。
- Docker CLI 工具 - docker
- jsondiff 
- pyyaml 
参数
| 参数 | 注释 | 
|---|---|
| 如果大于  默认值:  | |
| 连续  默认值:  | |
| Docker 主机上运行的 Docker API 版本。 默认为此集合和 docker 守护程序支持的最新 API 版本。 如果任务中未指定该值,则将使用环境变量  默认值:  | |
| 通过提供 CA 证书文件的路径来执行服务器验证时使用 CA 证书。 如果任务中未指定该值并且设置了环境变量  | |
| 要使用的 Docker CLI 上下文。 与  | |
| 客户端 TLS 证书文件的路径。 如果任务中未指定该值并且设置了环境变量  | |
| 客户端 TLS 密钥文件的路径。 如果任务中未指定该值并且设置了环境变量  | |
| Compose 定义列表。任何元素都可以是字符串,引用目标主机上 compose 文件的路径,也可以是嵌套为字典的 compose 文件的 YAML 内容。 默认值:  | |
| 如果  如果  选项 
 | |
| Docker CLI 的路径。如果未提供,将在  | |
| 用于连接到 Docker API 的 URL 或 Unix 套接字路径。要连接到远程主机,请提供 TCP 连接字符串。例如, 如果任务中未指定此值,则将使用环境变量  与  | |
| 堆栈名称 | |
| 如果为 true,则将  选项 
 | |
| 如果设置,则会将  选项 
 | |
| 服务状态。 选项 
 | |
| 通过使用 TLS 安全地连接到 API,而无需验证 Docker 主机服务器的真实性。请注意,如果  如果任务中未指定此值,则将使用环境变量  选项 
 | |
| 验证 Docker 主机服务器的真实性时,请提供服务器的预期名称。 如果任务中未指定此值,则将使用环境变量  | |
| 通过使用 TLS 并验证 Docker 主机服务器的真实性来保护与 API 的连接。 如果任务中未指定此值,则将使用环境变量  选项 
 | |
| 如果为 true,则将  选项 
 | 
属性
| 属性 | 支持 | 描述 | 
|---|---|---|
| 操作组: community.docker.docker,docker 在 community.docker 3.6.0 中添加 | 在  | |
| 支持:不支持 | 可以在  | |
| 支持:不支持 | 在差异模式下,将返回有关已更改内容(或可能需要在  | 
备注
注意
- 通过为每个任务提供参数或定义环境变量来连接到 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/。
- 此模块**不**使用 Docker SDK for Python 与 Docker 守护程序进行通信。它直接调用 Docker CLI 程序。 
示例
- name: Deploy stack from a compose file
  community.docker.docker_stack:
    state: present
    name: mystack
    compose:
      - /opt/docker-compose.yml
- name: Deploy stack from base compose file and override the web service
  community.docker.docker_stack:
    state: present
    name: mystack
    compose:
      - /opt/docker-compose.yml
      - version: '3'
        services:
          web:
            image: nginx:latest
            environment:
              ENVVAR: envvar
- name: Remove stack
  community.docker.docker_stack:
    name: mystack
    state: absent
返回值
常见的返回值已在此处记录,以下是此模块特有的字段
| 键 | 描述 | 
|---|---|
| 包含应用新的堆栈定义前后堆栈服务的“Spec”字段之间差异的字典。 返回:发生更改时 示例:  | 
