community.docker.docker_compose_v2_pull 模块 – 拉取 Docker Compose 项目

注意

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

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

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

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

community.docker 3.6.0 中的新增功能

概要

  • 使用 Docker Compose 拉取项目的镜像。

要求

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

  • 具有 Docker Compose 插件 2.18.0 或更高版本的 Docker CLI

  • 如果使用 definition,则需要 PyYAML

参数

参数

注释

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

check_files_existing

布尔值

community.docker 3.9.0 中新增

如果设置为 false,则如果未提供 files,模块将不会检查 project_src 中是否存在 compose.yamlcompose.ymldocker-compose.yamldocker-compose.yml 之一的文件。

如果使用包含 COMPOSE_FILE 的环境文件来配置不同的文件名,这将非常有用。当前,模块不会检查环境文件或当前环境中的 COMPOSE_FILE

选项

  • false

  • true ← (默认)

cli_context

字符串

要使用的 Docker CLI 上下文。

docker_host 互斥。

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

定义

字典

community.docker 3.9.0 中新增

描述一个或多个服务、网络和卷的Compose文件。

project_srcfiles互斥。必须提供project_srcdefinition之一。

如果提供此参数,则此模块必须可以使用PyYAML,并且必须指定project_name

请注意,使用此选项时,将创建一个临时目录,并在之后将其删除。

docker_cli

路径

Docker CLI 的路径。如果未提供,则将在PATH中搜索 Docker CLI。

docker_host

别名:docker_url

字符串

用于连接到 Docker API 的 URL 或 Unix 套接字路径。要连接到远程主机,请提供 TCP 连接字符串。例如,tcp://192.0.2.23:2376。如果使用 TLS 加密连接,模块将自动将连接 URL 中的tcp替换为https

如果任务中未指定此值,则将使用环境变量DOCKER_HOST的值。如果未设置环境变量,则将使用默认值。

cli_context互斥。如果没有提供docker_hostcli_context,则使用值unix:///var/run/docker.sock

env_files

列表 / 元素=路径

默认情况下,环境文件从project_src目录下直接位于.env文件加载。

env_files可以用来指定一个或多个自定义环境文件的路径。

此路径相对于project_src目录。

files

列表 / 元素=路径

在 community.docker 3.7.0 中添加

相对于project_src的Compose文件名列表,用于替代主Compose文件(compose.ymlcompose.yamldocker-compose.ymldocker-compose.yaml)。

文件按给定的顺序加载和合并。

definition互斥。

ignore_buildable

布尔值

在 community.docker 3.12.0 中添加

如果设置为true,则不会拉取可构建的镜像。

选项

  • false ← (默认)

  • true

include_deps

布尔值

在 community.docker 3.12.0 中添加

如果设置为true,则还会拉取声明为依赖项的服务。

只有在使用services时才有意义。

选项

  • false ← (默认)

  • true

policy

字符串

是否在运行之前拉取镜像。这在运行docker compose up时使用。

always确保始终拉取镜像,即使 Docker 守护程序上已存在。

missing仅在 Docker 守护程序上不存在时才拉取它们。这仅在 Docker Compose 2.22.0 及更高版本中受支持。

选项

  • "always" ← (默认)

  • "missing"

profiles

列表 / 元素=字符串

启动服务时要启用的配置文件列表。

相当于docker compose --profile

project_name

字符串

提供项目名称。如果未提供,则项目名称将从project_src的基名获取。

当提供definition时是必需的。

project_src

路径

包含 Compose 文件(compose.ymlcompose.yamldocker-compose.ymldocker-compose.yaml)的目录的路径。

如果提供files,则将在此目录中查找这些文件。

definition互斥。必须提供project_srcdefinition之一。

services

列表 / 元素=字符串

在 community.docker 3.12.0 中添加

指定要定位的服务子集。

tls

布尔值

通过使用 TLS 安全连接到 API,而无需验证 Docker 主机服务器的身份。请注意,如果validate_certs也设置为true,则它将优先。

如果任务中未指定此值,则将使用环境变量DOCKER_TLS的值。如果未设置环境变量,则将使用默认值。

选项

  • false ← (默认)

  • true

tls_hostname

字符串

验证 Docker 主机服务器的身份时,请提供服务器的预期名称。

如果任务中未指定值,则将使用环境变量DOCKER_TLS_HOSTNAME的值。如果未设置环境变量,则将使用默认值。

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

支持:完全支持

如果 policy=always,模块将始终指示更改。Docker Compose 不会提供任何有关拉取是否会更新镜像的信息。

可以在 check_mode 下运行,并在不修改目标的情况下返回更改状态预测。

diff_mode

支持:不支持

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

备注

注意

另请参阅

另请参阅

community.docker.docker_compose_v2

使用 Docker Compose CLI 插件管理多容器 Docker 应用程序。

示例

- name: Pull images for flask project
  community.docker.docker_compose_v2_pull:
    project_src: /path/to/flask

返回值

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

描述

actions

列表 / 元素=字典

已应用的操作列表。

返回:成功

id

字符串

已更改资源的 ID。

返回:成功

示例:"container"

status

字符串

发生的狀態更改。

返回:成功

只能返回

  • "Pulling"

示例:"Pulling"

what

字符串

已更改的资源类型。

返回:成功

只能返回

  • "image"

  • "unknown"

示例:"container"

作者

  • Felix Fontein (@felixfontein)