airflow.providers.docker.hooks.docker

DockerHook

与 Docker Daemon 和容器注册表交互。

模块内容

class airflow.providers.docker.hooks.docker.DockerHook(docker_conn_id=default_conn_name, base_url=None, version=None, tls=None, timeout=DEFAULT_TIMEOUT_SECONDS)[source]

基类: airflow.hooks.base.BaseHook

与 Docker Daemon 和容器注册表交互。

此类提供了 docker.APIClient 的一个轻量级包装。

参数:
  • docker_conn_id (str | None) – 存储 Docker Registry 凭据的 Docker 连接 ID。如果设置为 None 或为空,则 Hook 不会登录到容器注册表。

  • base_url (str | list[str] | None) – Docker 服务器的 URL 或 URL 列表。

  • version (str | None) – 要使用的 API 版本。使用 autoNone 可自动检测服务器版本。

  • tls (docker.TLSConfig | bool | None) – 连接是否需要 TLS,启用时传递 True 使用默认选项,或者传递一个 docker.tls.TLSConfig 对象使用自定义配置。

  • timeout (int) – API 调用默认超时时间,单位秒。

conn_name_attr = 'docker_conn_id'[source]
default_conn_name = 'docker_default'[source]
conn_type = 'docker'[source]
hook_name ='Docker'[source]
docker_conn_id = 'docker_default'[source]
static construct_tls_config(ca_cert=None, client_cert=None, client_key=None, verify=True, assert_hostname=None, ssl_version=None)[source]

从各部分构造 TLSConfig 对象。

参数:
  • ca_cert (str | None) – PEM 编码的 CA(证书颁发机构)证书文件的路径。

  • client_cert (str | None) – PEM 编码的客户端证书文件的路径。

  • client_key (str | None) – PEM 编码的客户端密钥文件的路径。

  • verify (bool) – 设置 True 以验证提供的证书的有效性。

  • assert_hostname (str | bool | None) – 用于匹配 Docker 服务器证书的主机名,或 False 以禁用检查。

  • ssl_version (str | None) – 与 Docker daemon 通信时使用的 SSL 版本。

property api_client: docker.APIClient[source]

创建到 Docker 主机的连接并返回 docker.APIClient(已缓存)。

property client_created: bool[source]

api_client 是否已创建。

get_conn()[source]

创建到 Docker 主机的连接并返回 docker.APIClient(已缓存)。

classmethod get_connection_form_widgets()[source]

返回连接表单小部件。

classmethod get_ui_field_behaviour()[source]

返回自定义字段行为。

本条目是否有帮助?